Pandas:如何计算金斯县各年度失业率均值?
解决金斯县年度失业率均值计算问题
嘿,作为Pandas新手处理这种时间序列聚合需求完全没问题,我来一步步带你实现!
首先,咱们先明确操作逻辑:把每月数据按**地区(Area)和年份(Year)**分组,计算每组的失业率均值,最后输出你要的Area、Year和均值字段。
步骤1:确保日期列是可识别的datetime类型
首先得确认你的月份列(比如叫Month)是Pandas能解析的日期格式,如果不是,先做转换:
import pandas as pd # 假设你的数据集DataFrame名为unemp_data unemp_data['Month'] = pd.to_datetime(unemp_data['Month']) # 如果你的日期格式是非标准的(比如只有年月如"1990-01"),可以指定格式参数 # unemp_data['Month'] = pd.to_datetime(unemp_data['Month'], format='%Y-%m')
步骤2:从日期中提取年份字段
从转换后的日期列里提取年份,新增一个Year列:
unemp_data['Year'] = unemp_data['Month'].dt.year
步骤3:分组计算年度失业率均值
按Area和Year分组,对失业率字段(比如叫Unemployment_Rate)计算均值,最后用reset_index()把分组结果转回常规DataFrame结构:
# 计算年度均值 annual_unemp_avg = unemp_data.groupby(['Area', 'Year'])['Unemployment_Rate'].mean().reset_index() # 可将均值列重命名为更直观的名称 annual_unemp_avg.rename(columns={'Unemployment_Rate': 'Unemployment_Average'}, inplace=True)
查看最终结果
现在annual_unemp_avg就是你需要的数据集,输出它就能看到目标字段:
print(annual_unemp_avg)
举个示例输出的样子:
| Area | Year | Unemployment_Average |
|---|---|---|
| Kings County | 1990 | 5.3 |
| Kings County | 1991 | 6.1 |
| ... | ... | ... |
如果你的数据集里Area只有金斯县,分组时也可以只按Year来,但保留Area分组能让代码更通用——以后新增其他地区数据时直接就能用~
内容的提问来源于stack exchange,提问作者Univers
相关产品推荐
相关产品推荐

