data1=mydata[(data['provinces'] == '河南省') & (data['age'] == 2)] #print(data1) cols = ['A28_5','A28_6','A30_12','A30a'] means = data1[cols].mean() meansmeans2=means.mean() print('均值为:',means2)怎么将如上代码简化为循环每个年龄段
时间: 2023-08-08 08:12:29 浏览: 108
ASP XML编程objXML.async = False第1/2页
你可以使用 Pandas 的 groupby 函数,对每个年龄段进行分组计算均值。代码如下:
```
cols = ['A28_5', 'A28_6', 'A30_12', 'A30a']
means = mydata.groupby('age')[cols].mean().mean(axis=1)
print('均值为:', means)
```
这里,`mydata.groupby('age')[cols].mean()` 表示先按照年龄分组,然后对每个组内的数据计算指定列的均值;`.mean(axis=1)` 表示对每个年龄段的均值再进行一次均值计算,得到所有年龄段的均值。
阅读全文