1
我有一个数据框,我使用.aggregate({'col1': np.sum})
,这将执行col1
中的值的总和并将它们聚合在一起。是否可以执行计数,如.aggregate({'col1': some count function here})
?熊猫在数据框中的聚合计数
我有一个数据框,我使用.aggregate({'col1': np.sum})
,这将执行col1
中的值的总和并将它们聚合在一起。是否可以执行计数,如.aggregate({'col1': some count function here})
?熊猫在数据框中的聚合计数
根据您的使用情况,您可以使用'size'
,'count'
或'nunique'
。它们之间的差异是:
'size'
:计数包括NaN
和重复值。'count'
:计数不包括NaN
但包括重复。'nunique'
:唯一值的计数,不包括重复和NaN
。例如,考虑下面的数据帧:
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
谢谢! 'count'是我所需要的。 –
'{ 'COL1': '计数'}'或'{'COL1 ':'size'}'或'{'col1':'nunique'}'取决于你的用例。 – root
或者'len'(内置),我建议这是最可读的。 –
'len'通常比''size'慢,因为它是内置的python,而不是引擎盖下的numpy。 – root