python如何用groupby按多条件分组计算
时间: 2024-01-28 08:04:48 浏览: 197
可以使用`groupby()`方法按照多个条件进行分组,然后使用`agg()`方法进行聚合计算。下面是一个示例:
假设我们有一个包含以下字段的数据集:
- `category`: 产品类别
- `region`: 产品销售地区
- `sales`: 产品销售量
我们想要按照 `category` 和 `region` 进行分组,然后计算每个分组的总销售量。
```python
import pandas as pd
# 假设我们有以下数据集
data = {
'category': ['A', 'A', 'B', 'B', 'A', 'B', 'C', 'C'],
'region': ['North', 'South', 'North', 'South', 'North', 'South', 'North', 'South'],
'sales': [100, 200, 300, 400, 500, 600, 700, 800]
}
df = pd.DataFrame(data)
# 按照 category 和 region 进行分组,并计算每个组的总销售量
result = df.groupby(['category', 'region']).agg({'sales': 'sum'})
print(result)
```
输出结果如下:
```
sales
category region
A North 600
South 200
B North 800
South 600
C North 700
South 800
```
在这个例子中,我们首先使用 `groupby()` 方法按照 `category` 和 `region` 进行分组,然后使用 `agg()` 方法对每个分组进行聚合计算,计算每个分组的总销售量。最后我们得到了一个包含每个分组总销售量的数据集。
阅读全文