У меня есть следующая таблица:
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'])
Это кажется действительно не элегантным. Есть ли лучший способ получить результат, который я ищу?