You need to enable JavaScript to run this app. 在R语言中如何将两列数据垂直合并并标记每条数据的原始所属列
优惠活动
大模型
产品
解决方案
定价
更多

在R语言中如何将两列数据垂直合并并标记每条数据的原始所属列

实现方法

你可以直接用Pandas内置的melt函数完成这个宽表转长表的需求,这是最简便的实现方式:

完整示例代码

import pandas as pd

# 构造你给出的示例DataFrame
df = pd.DataFrame({
    "column1": ["v1", "v2", "v3"],
    "column2": ["v4", "v5", "v6"]
})

# 核心转换逻辑
# var_name指定存储原列名的列名,value_name指定存储原值的列名
res = df.melt(var_name="column4", value_name="column3")
# 调整列顺序和你要求的输出一致
res = res[["column3", "column4"]]

# 打印验证结果
print(res)

其他可选实现(用stack方法)

如果你习惯用堆叠操作也可以用stack实现:

res = df.stack().reset_index(level=0, drop=True) \
      .reset_index(name="column3") \
      .rename(columns={"index": "column4"})

两种方法输出的结果都完全符合你要求的格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 21:54:03