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

如何将DataFrame两列合并为列表?当前方法得到字符串结果

解决DataFrame两列合并为列表列的问题

嘿,我懂你想要的是生成真正的列表类型,而不是看起来像列表的字符串!你之前的方法本质是把字符串拼接在一起,所以得到的是'[paul,ab]'这种字符串,而不是Python列表对象。试试下面这几种靠谱的方法:

方法1:使用apply逐行转换

这种方法直观,适合理解逻辑:

import pandas as pd

# 示例DataFrame
df = pd.DataFrame({'a': ['paul', 'bruno'], 'b': ['ab', 'bc']})

# 生成列表列
df['c'] = df.apply(lambda row: list(row[['a', 'b']]), axis=1)

这里axis=1指定按行处理,row[['a','b']]取到每行的a和b值,再用list()转成列表。

方法2:使用zip(更高效)

如果你的DataFrame数据量较大,apply的效率可能不够,推荐用zip来批量处理:

# 生成元组列(如果可以接受元组的话)
df['c'] = list(zip(df['a'], df['b']))

# 如果必须是列表,就再转一层
df['c'] = [list(item) for item in zip(df['a'], df['b'])]

zip(df['a'], df['b'])会把两列的元素一一配对,再通过列表推导式把每个元组转成列表。

验证结果类型

你可以用type(df.loc[0, 'c'])来检查,结果应该是<class 'list'>,而不是字符串啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 13:03:13