pandas使用groupby分组后怎么根据某列对每组去重并统计去重后的数据量
时间: 2024-05-10 20:17:52 浏览: 231
可以使用`groupby`配合`nunique`函数来实现这个功能。具体步骤如下:
1. 使用`groupby`对数据按照需要分组;
2. 对分组后的每个组,取出需要去重的列,并使用`nunique`函数计算该列的去重值数量;
3. 将每个组的去重值数量汇总起来,得到每组的去重后的数据量。
示例代码如下:
```python
import pandas as pd
# 构造示例数据
data = pd.DataFrame({
'group': ['A', 'A', 'B', 'B', 'C', 'C'],
'value': [1, 2, 2, 2, 3, 4]
})
# 按照 'group' 列进行分组,并对 'value' 列进行去重并计算去重后的数量
grouped = data.groupby('group')['value'].nunique()
# 打印每个组的去重后的数据量
print(grouped)
```
输出结果如下:
```
group
A 2
B 1
C 2
Name: value, dtype: int64
```
可以看到,输出结果中每行表示一个组的去重后的数据量。例如第一行表示组'A'去重后有2个不同的值。
阅读全文