Python 表中特定列的特定值之和

Python 表中特定列的特定值之和,python,pandas,dataframe,pandas-groupby,Python,Pandas,Dataframe,Pandas Groupby,我有一个数据集,其中包含: Column_A Column_B Column_C 1 55 23 1 65 14 2 32 54 2 25 13 3 69 28 3 14 56 期望输出: 'Column\u B'+'Column\u C'的总和,考虑到Column\u A的相

我有一个数据集,其中包含:

Column_A   Column_B   Column_C
1          55         23
1          65         14  
2          32         54
2          25         13  
3          69         28
3          14         56
期望输出:

'Column\u B'+'Column\u C'的总和,考虑到Column\u A的相同值

共11人=55+65+23+14


总计22=32+25+54+13

您可以在列上使用
pd.DataFrame.groupby

df.groupby('Column_A').sum().sum(axis=1)
输出

Column_A
1    157
2    124
3    167

您可以在列上使用
pd.DataFrame.groupby

df.groupby('Column_A').sum().sum(axis=1)
输出

Column_A
1    157
2    124
3    167

您可以求和,然后分组:

res = df.eval('Total=Column_B + Column_C', inplace=False)\
        .groupby('Column_A')['Total'].sum().reset_index()

print(res)

   Column_A  Total
0         1    157
1         2    124
2         3    167

您可以求和,然后分组:

res = df.eval('Total=Column_B + Column_C', inplace=False)\
        .groupby('Column_A')['Total'].sum().reset_index()

print(res)

   Column_A  Total
0         1    157
1         2    124
2         3    167

设置索引
总和

df.set_index('Column_A').sum(level=0).sum(1)
Out[989]: 
Column_A
1    157
2    124
3    167
dtype: int64

设置索引
总和

df.set_index('Column_A').sum(level=0).sum(1)
Out[989]: 
Column_A
1    157
2    124
3    167
dtype: int64

问题,res是df的浅拷贝还是完全不同的对象?@Yuca,一个新对象。
df
没有改变。更改
res
不会影响
df
。可能
df.eval('Column\u sum=Column\u B+Column\u C')。groupby('Column\u A')['Column\u sum'].sum()
@Wen,嗯,这在0.19(sry,旧版本)上对我不起作用。好的,我想出来了,它需要
inplace=False
。问题,res是df的浅拷贝还是一个完全不同的对象?@Yuca,一个新对象。
df
没有改变。更改
res
不会影响
df
。可能
df.eval('Column\u sum=Column\u B+Column\u C')。groupby('Column\u A')['Column\u sum'].sum()
@Wen,嗯,这在0.19(sry,旧版本)上对我不起作用。好的,我算出了,它需要
inplace=False