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
。