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

如何用Pandas将DataFrame多行按列合并为单行(值转为列表)

解决方案

方法1:生成包含列表对象的单行DataFrame

如果需要保留列表类型(而非字符串形式),可使用以下代码:

import pandas as pd

# 原DataFrame
df = pd.DataFrame({'col1':['23','34'], 'col2':[21324,345436]})

# 将每列合并为列表,转为单行DataFrame
result_df = df.agg(list).to_frame().T

执行后result_df的结构为:

col1col2
['23','34'][21324, 345436]

方法2:生成包含字符串格式列表的单行DataFrame

如果需要得到示例中字符串形式的列表(如'[23,34]'),可调整聚合函数:

# 统一生成无引号的列表字符串
result_df = df.agg(lambda x: f"[{','.join(map(str, x))}]").to_frame().T

执行后result_df与目标结果完全一致:

pd.DataFrame({'col1':['[23,34]'], 'col2':['[21324,345436]']})

代码说明

  • df.agg(func):遍历DataFrame的每一列,对列内所有元素应用指定函数func,这里用list直接转成列表,或用lambda函数将列表转为指定格式的字符串。
  • .to_frame().T:将聚合得到的Series(索引为原列名,值为列表/字符串)转换为单行DataFrame,保留原列名作为表头。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 02:33:31