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

如何将含多列年份索引的宽表转换为年份单独成列的长表

宽表转长表实现方案

以下是三种主流工具的实现方式,可按需选择:

Python(pandas)

使用内置的melt方法即可快速完成转换,示例代码如下:

import pandas as pd

# 替换为你自己的宽表数据读取逻辑,比如pd.read_excel/ pd.read_csv
df_wide = pd.DataFrame({
    "Country": ["Ecuador", "Canada"],
    "2020": ["Value1", "Value1"],
    "2021": ["Value2", "Value2"]
})

df_long = df_wide.melt(
    id_vars = "Country",
    var_name = "Year",
    value_name = "Index"
)

输出的df_long完全符合你要求的Country、Year、Index三列结构。

Excel

通过Power Query操作无需写代码:

  • 选中全部宽表数据,点击「数据」选项卡→「从表格/区域」进入Power Query编辑器
  • 选中Country列,右键点击「逆透视其他列」
  • 将生成的「属性」列重命名为Year,「值」列重命名为Index
  • 点击「关闭并上载」即可导出结果到工作表

R语言

使用tidyr包的pivot_longer函数实现:

library(tidyr)

df_long <- df_wide %>% 
  pivot_longer(
    cols = -Country,
    names_to = "Year",
    values_to = "Index"
  )

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:06:05