python groupby agg 根据条件去重计数
时间: 2023-06-23 10:52:42 浏览: 155
在 Python 中,可以使用 `groupby` 函数和 Pandas 库来实现根据条件去重并计数的操作。
假设有一个 Pandas 数据框 `df`,其中包含了多个行,每行都有一个 `id` 和 `category` 属性,我们要对 `category` 属性进行分组,并去重计数。
示例代码如下:
```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.groupby('category').agg({'id': 'nunique'})
print(result)
```
输出结果为:
```
id
category
A 3
B 2
C 2
```
解释:首先使用 Pandas 的 `groupby` 函数按 `category` 属性进行分组,然后使用 `agg` 函数对每个分组进行聚合计算。在本例中,我们使用 `nunique` 函数(去重计数)对 `id` 属性进行计算。最后输出计算结果。
相关问题
python groupby agg where 条件去重计数
在 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` 属性进行计算。最后输出计算结果。
python groupby agg count
引用\[1\]中的示例代码展示了如何使用groupby和agg函数对DataFrame进行分组和聚合操作。在这个例子中,使用groupby('A')对DataFrame按照列'A'进行分组,然后对不同的列'B'和'C'采用不同的聚合方法,其中'B'列使用了np.mean和np.sum方法,'C'列使用了'count'和np.std方法。最后的结果是每个分组的聚合结果。\[1\]
引用\[2\]中的示例代码展示了如何使用groupby和agg函数对DataFrame进行分组和聚合操作。在这个例子中,使用groupby('A')对DataFrame按照列'A'进行分组,然后对另外一列'B'采用不同的聚合方法,其中使用了np.mean和np.std方法。最后的结果是每个分组的聚合结果。\[2\]
根据你的问题,你想知道如何使用groupby和agg函数计算count。你可以使用groupby函数指定要分组的列,然后使用agg函数指定要对哪一列进行计算。在你的示例中,你可以使用df.groupby('A')\['B'\].agg('count')来计算列'B'的计数。这将返回每个分组中列'B'的计数结果。\[3\]
#### 引用[.reference_title]
- *1* *2* [python中分组函数groupby和分组运算函数agg小结](https://blog.csdn.net/weixin_37536446/article/details/82109431)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [python pandas中groupby()的使用,sum和count](https://blog.csdn.net/qq_39290990/article/details/121435796)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]