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)吗?它也会将所有内容设为零