如何合并重复列并求和它们的值?
我有的
A 30
A 40
B 50
我需要的
A 70
B 50
这个例子的 DF
d = {'address': ["A", "A", "B"], 'balances': [30, 40, 50]}
df = pd.DataFrame(data=d)
df
如何合并重复列并求和它们的值?
我有的
A 30
A 40
B 50
我需要的
A 70
B 50
这个例子的 DF
d = {'address': ["A", "A", "B"], 'balances': [30, 40, 50]}
df = pd.DataFrame(data=d)
df
您可以使用
df2 = df.groupby(['address']).sum()
或者
df2 = df.groupby(['address']).agg('sum')
如果有除此之外的列balances
,您只想峰值first
ormax
值,或者做mean
而不是sum
,您可以执行以下操作:
d = {'address': ["A", "A", "B"], 'balances': [30, 40, 50], 'sessions': [2, 3, 4]}
df = pd.DataFrame(data=d)
df2 = df.groupby(['address']).agg({'balances': 'sum', 'sessions': 'mean'})
那输出
balances sessions
address
A 70 2.5
B 50 4.0
您可以添加参数以具有as_index = False
:groupby
address balances sessions
0 A 70 2.5
1 B 50 4.0
在另一种情况下,当您有一个包含多个重复列的数据集并且您不想单独选择它们时,请使用:
df.groupby(by=df.columns, axis=1).sum()