Pandas 如何计算所有列的总和与列的响应?
我想求一个组中我列的值之和:Pandas 如何计算所有列的总和与列的响应?,pandas,dataframe,Pandas,Dataframe,我想求一个组中我列的值之和: group val1 val2 1 0 2 1 2 5 2 40 2 2 13 10 group val1 val2 1 2 7 2 52 12 我使用了这个coddf.groupby(['group']).sum(),但它给出了最后一列的结果,而不是整个数据(我有很多列)。为
group val1 val2
1 0 2
1 2 5
2 40 2
2 13 10
group val1 val2
1 2 7
2 52 12
我使用了这个cod
df.groupby(['group']).sum()
,但它给出了最后一列的结果,而不是整个数据(我有很多列)。为什么?在分组的数据框中只添加数值,可能您的val1
列数据类型不是int
(正如Quang Hoang在评论中所指出的),以下操作将解决您的问题:
df['val1'] = df['val1'].astype(int)
df.groupby(['group']).sum()
@QuangHoang同样不是整个数据集,只是您的更正添加了
组
列检查您的数据类型。最有可能的是val1
是对象类型。是的,我应该将它们转换为数字吗?是的,这会使它们出现在groupby()中。sum()
我可以同时将所有列设为类型(int)吗?它也会将所有内容设为零