在Python Pandas中按组计算唯一值数
要在Python Pandas中按组计算唯一值的数目,我们可以使用 df.groupby(‘列名’).count() 。
步骤
- 创建一个二维、大小可变、可能是异构的表格数据, df 。
- 打印输入的DataFrame, df 。
- 使用 df.groupby(‘rank’)[‘id’].count() 找到每个组的唯一值计数,并将其存储在一个变量 ” count ” 中。
- 打印步骤3的计数。
示例
import pandas as pd
df = pd.DataFrame(
{
"id": [1, 2, 1, 3, 5, 1, 4, 3, 6, 7],
'rank': [1, 4, 1, 2, 1, 4, 6, 1, 5, 3]
}
)
print"输入的DataFrame 1为:\n", df
count = df.groupby('rank')['id'].count()
print"排名频率为:\n", count
输出
输入的DataFrame 1为:
id rank
0 1 1
1 2 4
2 1 1
3 3 2
4 5 1
5 1 4
6 4 6
7 3 1
8 6 5
9 7 3
排名频率为:
rank
1 4
2 1
3 1
4 2
5 1
6 1
Name: id, dtype: int64