Python 如何使用Pandas从数据框拆分列
我正在将一个来自API调用的CSV文件读入一个带有熊猫的数据帧,以便进行一些数据操作 目前,我得到了以下回应: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.
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并添加另一个分隔符??啊,这很有意义-谢谢。稍后我会给它一个重击,希望它能给我想要的结果