Python 如何使用Pandas从数据框拆分列

Python 如何使用Pandas从数据框拆分列,python,pandas,dataframe,indexing,series,Python,Pandas,Dataframe,Indexing,Series,我正在将一个来自API调用的CSV文件读入一个带有熊猫的数据帧,以便进行一些数据操作 目前,我得到了以下回应: n [78]: dfname Out[78]: productID amountInStock index index_col 7 1.0 NaN 1 7 19 4.0 NaN 2 19 20 1.

我正在将一个来自API调用的CSV文件读入一个带有熊猫的数据帧,以便进行一些数据操作

目前,我得到了以下回应:

n [78]: dfname
Out[78]: 
        productID  amountInStock  index  index_col
7             1.0            NaN      1          7
19            4.0            NaN      2         19
20            1.0            NaN      3         20
22            2.0            NaN      4         22
然后调用dfname.reset_index()创建更好的索引:

dfname.reset_index()
Out[80]: 
      level_0  productID  amountInStock  index  index_col
0           7        1.0            NaN      1          7
1          19        4.0            NaN      2         19
2          20        1.0            NaN      3         20
3          22        2.0            NaN      4         22
但问题是“productID”系列有两列,我不知道如何拆分它们

dfname.productID
Out[82]: 
7          1.0
19         4.0
20         1.0
22         2.0
我想要的是dfname.productID返回:

dfname.productID
Out[82]: 
7          
19         
20         
22         
productID中当前的其他数字应指定为“库存数量”

如何拆分此字段,使其返回两列而不是一列?我试过了。str.split()没有用

对象的属性为Name:productID、Length:2102、dtype:float64

但问题是“productID”系列有两列,而I 不知道如何分割它们

dfname.productID
Out[82]: 
7          1.0
19         4.0
20         1.0
22         2.0
这就是误解。不管
print
告诉您什么,您没有2列。您有一个索引为的列。这正是对象的定义方式

我想要的是dfname.productID返回:

dfname.productID
Out[82]: 
7          
19         
20         
22         
如上所述,这是不可能的。每个系列都有一个索引。这是不可谈判的

如何拆分此字段,使其返回两列而不是一列 一个?我试过了。str.split()没有用

这不是前进的方向。特别是,注意用于在序列中拆分字符串。这里没有字符串。相反,请使用
reset_index
并重命名列。或者在
reset\u index
之前命名索引。对我来说,后一种选择似乎更干净:

df.index.name = 'stockqty'
df = df.reset_index()

print(df)

   stockqty  productID  amountInStock  index  index_col
0         7        1.0            NaN      1          7
1        19        4.0            NaN      2         19
2        20        1.0            NaN      3         20
3        22        2.0            NaN      4         22

我通过在解析csv时指定分隔符来解决:

        df = pd.read_csv(link, encoding='ISO-8859-1', sep=', ', engine='python')

为什么要分开?只需重新命名它们!我试图重命名它们,但它只是重命名了这两列。看起来dataframe.productid包含在productid和stockqty之前,所以我需要考虑如何拆分它们。也许我需要查看原始CSV并添加另一个分隔符??啊,这很有意义-谢谢。稍后我会给它一个重击,希望它能给我想要的结果