import pandas as pd
df = pd.DataFrame({
'Category': ['A', 'B', 'C', 'A', 'B', 'C', 'A', 'B', 'C'],
'Value': [1, 2, 3, 4, 5, None, 7, 8, None]
})
print(df)
Category Value
0 A 1.0
1 B 2.0
2 C 3.0
3 A 4.0
4 B 5.0
5 C NaN
6 A 7.0
7 B 8.0
8 C NaN
result = df.groupby('Category')['Value'].apply(lambda x: x.notnull().sum())
print(result)
Category
A 3
B 3
C 2
Name: Value, dtype: int64
在上面的示例中,我们首先使用 groupby 函数按 Category 列进行分组,然后使用 apply 函数将每个分组中的 Value 列传递给 lambda 函数。在 lambda 函数中,我们使用 notnull 函数计算每个值是否为非空值,并使用 sum 函数将非空值的数量计算出来。最终,我们得到了每个类别中非空值的数量。
上一篇:按类别计数记录,包括零计数。
下一篇:按类别计算精确率和召回率