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

如何在Pandas中根据列标题和内容创建并填充DataFrame的行与列

Pandas宽表转长表:将列标题转为Date列,单元格值转为Value列

这正是Pandas里melt()函数的典型应用场景,直接用它就能快速实现你要的格式转换:

import pandas as pd

# 构造你提供的原始DataFrame
df = pd.DataFrame({
    'Location': ['A', 'B'],
    'Jan-22': [1, 4],
    'Feb-22': [2, 5],
    'Mar-22': [3, 6]
})

# 使用melt完成格式转换
long_df = df.melt(
    id_vars=['Location'],  # 指定不需要转换、保持原样的列
    var_name='Date',       # 原列标题会作为这个新列的取值
    value_name='Value'     # 原单元格的数值会放到这个新列里
)

# 如果需要和你示例里的排序完全一致,可添加排序步骤
long_df = long_df.sort_values('Location').reset_index(drop=True)

print(long_df)

运行后得到的结果如下:

LocationDateValue
AJan-221
AFeb-222
AMar-223
BJan-224
BFeb-225
BMar-226

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 23:45:42