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

如何将Pandas宽格式国家计量指标数据表转置为长格式?

解决Pandas宽表转长表的问题

嘿,这个需求太典型了!Pandas里的melt()函数就是为这类宽表转长表的场景设计的,完美匹配你的需求。我给你拆解一下具体操作:

核心步骤:使用melt()函数

假设你的原始DataFrame命名为df,直接用以下代码就能完成转换:

1. 基础转换代码

首先如果原始列名是Country Code(带空格),建议先重命名成下划线格式(可选,但代码更易读),然后调用melt():

# 可选:重命名列名,避免空格带来的麻烦
df = df.rename(columns={"Country Code": "Country_Code"})

# 执行宽转长
long_format_df = df.melt(
    id_vars="Country_Code",  # 保留作为标识的列,不参与转换
    var_name="Year",         # 原年份列名要转换成的新列名
    value_name="Econometric_Metric"  # 原指标值对应的新列名
)

2. 优化处理(可选)

  • 年份转整数类型:原年份列可能是字符串格式(比如"1960"),可以转成整数方便后续分析:
long_format_df["Year"] = long_format_df["Year"].astype(int)
  • 移除NaN值:如果不想保留缺失值的行,直接添加dropna():
long_format_df = long_format_df.dropna(subset=["Econometric_Metric"])

效果验证

转换完成后,你的数据表就会变成三列:

  • Country_Code:国家代码(如ABW、AFG)
  • Year:年份(1960到2015)
  • Econometric_Metric:对应年份的指标值(无缺失的情况下)

这样的长格式非常适合后续做时间序列分析、可视化(比如折线图)或者统计建模哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:17:04