pandas 在大型df上运行时,Groupby then sum不起作用

a9wyjsp7  于 2022-12-02  发布在  其他
关注(0)|答案(1)|浏览(182)

我试图整理一个又长又乱的csv文件,但是我的方法似乎不起作用,直到我尝试将原始数据分成几个文件。只是想知道是否有人能看到这里出了什么问题?
原始文件如下所示,但有600多行:

Code   Item       Size    Location   Available
DD2    Cap Blue   S       NY         3
DD2    Cap Blue   S       NY         6
DD2    Cap Blue   S       CA         18
DD2    Cap Blue   S       PA         20
DD3    Cap Blue   L       CA         5
DA5    Tee Red    S       NY         1
DA7    Tee White  S       PA         203
DA7    Tee White  S       PA         204

我想把它变成:

Code   Item       Size    Location   Available
DD2    Cap Blue   S       NY         9
                          CA         18
                          PA         20
DD3    Cap Blue   L       CA         5
DA5    Tee Red    S       NY         1
DA7    Tee White  S       PA         407

,这样我就可以使用pivot_table函数使其整洁。
我用的方法是

df2 = df.groupby(['Code', 'Item', 'Size', 'Location'])['Available'].sum()
print(df2)

但是,由于数字是纯文本,因此Panda合并了“Available”中的值,即结果如下所示

Code   Item       Size    Location   Available
DD2    Cap Blue   S       NY         36
                          CA         18
                          PA         20
DD3    Cap Blue   L       CA         5
DA5    Tee Red    S       NY         1
DA7    Tee White  S       PA         203204

我不能理解的是,如果我拆分数据,比如说我只取出20行并运行命令,它会完美地工作。
我对Python和Pandas很陌生,任何帮助都是非常感激的。提前感谢。

c9qzyr3d

c9qzyr3d1#

更改Available列的数据类型,例如:

df2["Available"] = df2["Available"].values.astype(float)

相关问题