Pandas 数据帧中的聚合计数
我有一个数据帧,我正在使用Pandas 数据帧中的聚合计数,pandas,indexing,dataframe,counting,Pandas,Indexing,Dataframe,Counting,我有一个数据帧,我正在使用.aggregate({'col1':np.sum}),这将对col1中的值进行求和,并将它们聚合在一起。是否可以执行计数,例如.aggregate({'col1':此处的某些计数函数})?根据您的用例,您可以使用'size','count'或'nunique'。它们之间的区别在于: 'size':计数包括NaN和重复值 'count':不包括NaN但包括重复的计数 'nunique':唯一值的计数,不包括重复和NaN 例如,考虑下面的数据文件: df = pd.D
.aggregate({'col1':np.sum})
,这将对col1
中的值进行求和,并将它们聚合在一起。是否可以执行计数,例如.aggregate({'col1':此处的某些计数函数})
?根据您的用例,您可以使用'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
{'col1':'count'}
或{'col1':'size'}
或{'col1':'nunique'}
取决于您的用例。或len
(内置),我认为这是这一系列中可读性最强的。len
通常比'size'
慢,因为它是python内置的,而不是引擎盖下的numpython。