首页 > 解决方案 > 如何对一个值进行分组,对一列求和并在另一列中保持相等的值?

问题描述

如果您有一个 DataFrame 的值一起出现,但也有一个独立的值,如下所示:

df = {'address': ["A", "A", "B"], 'balances': [30, 40, 50], 'sessions': ["V","V","K"]}

并且您希望groupby两者兼而有之aggregate

>>> df.groupby(["address"]).agg({'balances': 'sum', 'sessions': ??? })

{'address': ["A", "B"], 'balances': [80, 50], 'sessions': ["V","K"]}

标签: pandaspandas-groupby

解决方案


只取第一个或最后一个:

df.groupby(["address"],as_index=False).agg({'balances': 'sum', 'sessions': 'first'})

  address  balances sessions
0       A        70        V
1       B        50        K

推荐阅读