pandas在数据帧中的聚合计数

Mik*_*son 2 indexing counting dataframe pandas

我有一个DataFrame,我正在使用.aggregate({'col1': np.sum}),这将执行值的总和col1并将它们聚合在一起.是否有可能进行计数.aggregate({'col1': some count function here})?

roo*_*oot 9

您可以使用'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
Run Code Online (Sandbox Code Playgroud)

然后使用描述的三个函数:

df.groupby('col0')['col1'].agg(['size', 'count', 'nunique'])

      size  count  nunique
col0                      
a        2      2        1
b        2      1        1
c        2      2        2
Run Code Online (Sandbox Code Playgroud)