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。