【发布时间】:2020-08-10 06:42:21
【问题描述】:
我有一张如下表:
ID SCORE
A NaN
A NaN
B 1
B 2
C 5
我想要以下输出:
ID SUM_SCORE SIZE_SCORE
A NaN 2
B 3 2
C 5 1
由于我想保留 NaN,我需要使用 sum(min_count=1)。所以到目前为止我有以下几点:
grp = df.groupby('ID')
sum_score = grp['SCORE'].sum(min_count=1).reset_index()
size_score = grp['SCORE'].size().reset_index()
result = pd.merge(sum_score, size_score, on=['ID'])
这感觉真的很不雅。有没有更好的方法来获得我正在寻找的结果?
【问题讨论】:
标签: python pandas aggregation