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

如何将DataFrame的所有列合并为单列新DataFrame?

将多列DataFrame合并为单列DataFrame

问题场景

现有如下结构的DataFrame:

namelist1namelist2namelist3...
khalidsabbirliton
tamimsakibtawhid
taskinsantonaim

需要把所有列的内容依次追加到一个新的单列DataFrame中,最终期望结果如下:

namelistall
khalid
sabbir
liton
tamim
sakib
tawhid
taskin
santo
naim

实现方案

方法1:使用melt()函数

melt()是Pandas中宽表转长表的工具,可直接提取所有列的数值生成单列:

import pandas as pd

# 构造示例DataFrame(实际使用替换为你的原始数据)
df = pd.DataFrame({
    'namelist1': ['khalid', 'tamim', 'taskin'],
    'namelist2': ['sabbir', 'sakib', 'santo'],
    'namelist3': ['liton', 'tawhid', 'naim']
})

# 生成目标单列DataFrame
df_all = pd.melt(df, value_name='namelistall')[['namelistall']]
print(df_all)

方法2:使用stack()函数

stack()将列索引转为行索引层级,再重置索引并转换为DataFrame:

# 基于上述示例df
df_all = df.stack().reset_index(drop=True).to_frame(name='namelistall')
print(df_all)

两种方法均可得到目标结果,stack()在处理大量列时性能更优,melt()逻辑更直观易懂。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 12:33:25