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

如何在Pandas DataFrame中将两列上下拼接为单列?

解决方法

这里有几种简单有效的方式可以实现你想要的列合并效果:

方法一:使用 stack() 方法

import pandas as pd

# 构造你的数据集
df = pd.DataFrame({
    'Col-1': ['Erin', 'Cathy', 'Ross'],
    'Col-2': ['Tanya', 'Tom', 'Wes']
})

# 转换为单列
result = df.stack().reset_index(drop=True).to_frame('New_column')
print(result)

步骤说明

  1. df.stack():将多列数据按行优先顺序堆叠成 Series,顺序为第一列所有元素先出现,接着是第二列所有元素。
  2. reset_index(drop=True):移除堆叠后生成的冗余索引,只保留值序列。
  3. to_frame('New_column'):将 Series 转换为 DataFrame,并指定目标列名。

方法二:使用 ravel() 按列展平

result = pd.DataFrame(df.values.ravel('F'), columns=['New_column'])
  • df.values.ravel('F'):按列优先(Fortran 顺序)展平二维数组,直接得到你需要的元素顺序。
  • 再将展平后的数组转换为 DataFrame 并指定列名即可。

方法三:使用 melt() 方法

result = df.melt(value_vars=['Col-1', 'Col-2'], value_name='New_column').drop(columns='variable')
  • melt() 将多列转换为键值对形式,value_vars 指定要合并的列,value_name 设置目标列名。
  • 最后删除自动生成的 variable 列即可得到结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 09:40:28