python将所有指标根据省份和年龄段拆分为若干个数据集,并计算拆分后的若干个数据集中的所有指标均值的代码
时间: 2023-12-10 22:38:04 浏览: 135
假设有一个数据集 `df`,包含以下列:`province`(省份)、`age`(年龄)、`indicator1`、`indicator2`、`indicator3`等指标列。
首先,我们可以使用 `groupby` 函数将数据按照省份和年龄段分组,生成一个 `DataFrameGroupBy` 对象。然后,可以通过遍历该对象的每个组,将每个组的数据提取出来,计算各指标的均值,并将这些结果存储到新的数据集中。
下面是一个示例代码:
```python
import pandas as pd
# 读取数据集
df = pd.read_csv('data.csv')
# 按照省份和年龄段分组
grouped = df.groupby(['province', pd.cut(df['age'], [0, 20, 30, 40, 50, 60, 100])])
# 遍历每个组,计算各指标的均值
results = []
for name, group in grouped:
province, age_range = name
indicators = group[['indicator1', 'indicator2', 'indicator3']]
mean_values = indicators.mean()
result = {'province': province, 'age_range': age_range, 'indicator1_mean': mean_values['indicator1'], 'indicator2_mean': mean_values['indicator2'], 'indicator3_mean': mean_values['indicator3']}
results.append(result)
# 将结果存储到新的数据集中
result_df = pd.DataFrame(results)
```
在上面的示例代码中,我们首先使用 `groupby` 函数将数据按照省份和年龄段分组,生成一个 `DataFrameGroupBy` 对象。然后,我们遍历该对象的每个组,提取出每个组的数据,并计算各指标的均值。最后,我们将这些结果存储到一个新的数据集中。
阅读全文