python groupby agg where 条件去重计数
时间: 2023-07-31 09:12:53 浏览: 248
在 Python 中,可以使用 `groupby` 函数和 Pandas 库来实现根据条件去重并计数的操作。
假设有一个 Pandas 数据框 `df`,其中包含了多个行,每行都有一个 `id` 和 `category` 属性,我们要对 `category` 属性进行分组,并根据 `id` 属性的值是否满足条件进行去重计数。
示例代码如下:
```python
import pandas as pd
df = pd.DataFrame({
'id': [1, 2, 3, 4, 5, 6, 7],
'category': ['A', 'B', 'C', 'A', 'A', 'B', 'C']
})
result = df[df['id'] > 3].groupby('category').agg({'id': 'nunique'})
print(result)
```
输出结果为:
```
id
category
A 2
C 1
```
解释:首先使用 Pandas 的条件筛选语句 `df['id'] > 3` 过滤出符合条件的行,然后使用 `groupby` 函数按 `category` 属性进行分组,最后使用 `agg` 函数对每个分组进行聚合计算。在本例中,我们使用 `nunique` 函数(去重计数)对 `id` 属性进行计算。最后输出计算结果。
阅读全文