pandas中多字段group by之后如何分组循环组装数据
时间: 2024-02-27 08:54:38 浏览: 162
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
在 Pandas 中,可以使用 groupby 函数对数据进行分组汇总,然后使用 for 循环遍历每个分组,并对每个分组进行进一步的数据组装。
假设我们有一个数据集,包含了用户的姓名、性别和年龄,我们想要按照性别和年龄进行分组,并计算每组的平均年龄和人数。可以按照如下步骤进行分组循环组装数据:
1. 读取数据并导入 Pandas
```python
import pandas as pd
df = pd.read_csv('data.csv')
```
2. 对数据进行分组
```python
grouped = df.groupby(['sex', 'age'])
```
3. 对每个分组进行遍历,并对每个分组进行进一步的数据组装
```python
result = []
for group, data in grouped:
sex, age = group
count = len(data)
avg_age = data['age'].mean()
result.append({'sex': sex, 'age': age, 'count': count, 'avg_age': avg_age})
result_df = pd.DataFrame(result)
```
在上述代码中,我们先定义了一个空列表 result,然后对每个分组进行遍历,获取分组的性别和年龄,以及该分组中的人数和平均年龄,然后将这些数据组装成一个字典,并添加到 result 列表中。最后,我们将 result 列表转换为 DataFrame 对象,得到最终的结果。
注意:在循环内部,data 是一个 DataFrame 对象,我们可以使用 DataFrame 的函数进行数据的统计和计算。在上面的代码中,我们使用了 mean 函数计算平均年龄。
阅读全文