You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Pandas将CSV中的月度就业数据转换为年度平均值?

解决月度就业数据转年度平均值的方法

首先修正你代码里的问题:df = pd.DataFrame(data)这行完全多余——pd.read_csv已经直接返回DataFrame,且你未定义data变量,直接删掉即可。

下面提供两种常用的实现方式:

方法一:使用resample(时间序列专用方法)

resample是pandas处理时间序列数据的核心工具,步骤如下:

  • 将REF_DATE列转换为datetime类型
  • 将日期列设置为DataFrame的索引
  • 按年度重采样并计算目标列的平均值

示例代码:

import pandas as pd

# 读取CSV数据
df = pd.read_csv('/14100017.csv')

# 转换日期列格式为datetime
df['REF_DATE'] = pd.to_datetime(df['REF_DATE'])

# 将日期设为索引
df = df.set_index('REF_DATE')

# 按年度重采样,计算就业数据的年度平均值(替换VALUE为你实际的数值列名)
annual_avg = df['VALUE'].resample('Y').mean()

# 可选:将索引格式化为纯年份(如2020而非2020-12-31)
annual_avg.index = annual_avg.index.year

print(annual_avg)

方法二:使用groupby按年份分组

如果不想设置时间索引,可提取年份后直接分组计算:

  • 从REF_DATE中提取年份生成新列
  • 按年份分组并计算目标列的平均值

示例代码:

import pandas as pd

df = pd.read_csv('/14100017.csv')
df['REF_DATE'] = pd.to_datetime(df['REF_DATE'])

# 从日期中提取年份
df['YEAR'] = df['REF_DATE'].dt.year

# 按年份分组计算平均值(替换VALUE为你实际的数值列名)
annual_avg = df.groupby('YEAR')['VALUE'].mean()

print(annual_avg)

注意事项

  • 替换代码中的VALUE为你CSV里实际存储就业数据的列名(从截图看是数值类列)
  • 如果REF_DATE是非标准日期格式,需在pd.to_datetime中指定format参数,比如pd.to_datetime(df['REF_DATE'], format='%Y-%m')

内容的提问来源于stack exchange,提问作者businesstoe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 06:31:12