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

如何在R中按日期和站点实现数据框的行列转置

解决方法

1. 数据读取阶段避免表头丢失

读取文件时明确指定第一行为表头,关闭列名自动推断逻辑,即使列数很多也能正确识别全部表头:

import pandas as pd

# 如果是csv格式文件,header=0指定第一行为表头,parse_dates=False避免日期列名被自动转格式
df = pd.read_csv("你的数据文件路径.csv", header=0, parse_dates=False, encoding="utf-8")

2. 宽表转长表实现格式转换

直接调用pandas内置的melt方法,不需要手动枚举日期列,所有日期列会自动转为行,支持任意数量的日期列:

# id_vars参数填写不需要转换的固定列,剩余列自动按日期展开
df_res = df.melt(
    id_vars=["STATION", "Latitude", "Longitude"],
    var_name="Date",
    value_name="Values"
)

# 调整列顺序匹配你需要的输出格式,如果需要修正Longitude拼写可以同步修改
df_res = df_res[["Date", "STATION", "Latitude", "Longitude", "Values"]]

# 可选:如果需要把数值中的逗号替换为小数点并转为数值格式
df_res["Values"] = df_res["Values"].str.replace(",", ".").astype(float)

运行后得到的df_res就是你需要的目标格式。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 23:36:04