groupby([])。sum()

时间:2019-09-21 17:08:52

标签: pandas pandas-groupby

n = df1.groupby(['Year', 'State', 'Regulator', 'Industry','Product', 'Count']).sum()     # <-- this produces the error

问题描述 [嗨,我认为使用groupby.sum函数删除/排除数据点存在问题。我执行了以下代码(请参见上文),事后看来还不错,直到我使用Excel和/或数据集的简单图表将相同的数据进行了比较。另外,删除“ Count”将抛出其他df列上的值。感谢您对此进行检查。]

预期产量

Year | 2012
State | Alabama
Regulator | SEC
Insurance/Annuity Products | 2
Stocks | 4

Year | 2012
State | Alabama
Regulator | FDIC
Debit Card | 1
Residential Mortgage | 3

pd.df的输出

Year | 2012
State | Alabama
Regulator | FDIC
Debit Card | 1
Residential Mortgage | 1

1 个答案:

答案 0 :(得分:0)

问题解决了。我已经运行了代码,包括并从代码中排除了列['Count'],这给了我好坏的混合结果。由于某种原因,如果有任何意义,则无法正确读取CSV。列['Count']是dtypes int,但似乎正在作为字符串读取。所以我做了一个.apply(pd.to_numeric),删除了“ Count”并重新运行了解决问题的单元。

这是groupby / sum的最终代码:

n = df1.groupby(['Year', 'State', 'Regulator', 'Industry','Product'])['Count'].sum()