如何使用dataframe的groupby按不同的条件做去重统计个数
时间: 2024-01-27 16:06:05 浏览: 64
可以使用pandas库中的DataFrame.groupby()方法对数据进行分组,并且使用DataFrame.drop_duplicates()方法去除重复值,最后使用DataFrame.groupby().size()方法统计每组个数。
示例代码如下:
```python
import pandas as pd
# 创建示例数据
df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'two', 'two', 'one', 'one', 'two'],
'C': [1, 2, 3, 4, 5, 6, 7, 8]})
# 按照'A'列和'B'列进行分组,并统计每组的个数
grouped = df.groupby(['A', 'B']).size()
# 打印结果
print(grouped)
# 按照'A'列和'B'列进行分组,并且去除重复值,统计每组的个数
grouped = df.drop_duplicates().groupby(['A', 'B']).size()
# 打印结果
print(grouped)
```
输出结果如下:
```
A B
bar one 2
two 1
foo one 3
two 2
dtype: int64
A B
bar one 1
two 1
foo one 2
two 2
dtype: int64
```
阅读全文