pandas 数据框中的聚合计数
pandas aggregate count in dataframe
我有一个 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
我有一个 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