我有一个DataFrame,我正在使用.aggregate({'col1': np.sum})
,这将执行值的总和col1
并将它们聚合在一起.是否有可能进行计数.aggregate({'col1': some count function here})
?
您可以使用'size'
,'count'
或'nunique'
根据您的使用情况.他们之间的区别是:
'size'
:计数包括NaN
和重复值.
'count'
:计数不包括NaN
但包括重复.
'nunique'
:唯一值的计数,不包括重复和NaN
.
例如,请考虑以下DataFrame:
df = pd.DataFrame({'col0': list('aabbcc'), 'col1': [1, 1, 2, np.nan, 3, 4]}) col0 col1 0 a 1.0 1 a 1.0 2 b 2.0 3 b NaN 4 c 3.0 5 c 4.0
然后使用描述的三个函数:
df.groupby('col0')['col1'].agg(['size', 'count', 'nunique']) size count nunique col0 a 2 2 1 b 2 1 1 c 2 2 2