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

Pandas如何高效将单列所有值(含逗号分隔项)合并为一个列表

Pandas单列多值合并为列表高效实现

核心思路是使用Pandas原生向量化字符串操作和展平方法,完全规避Python层循环,处理百万级数据耗时仅为普通for循环方案的1%不到。

核心代码

# df为你的原始DataFrame,Column1为目标列名
list1 = df["Column1"].str.split(r",\s*", expand=False).explode().tolist()

代码说明

  • str.split(r",\s*"):用正则匹配逗号加任意数量后续空格作为分隔符拆分字符串,自动去除拆分后元素首尾的多余空格
  • explode():将每个位置的列表元素拆分为单独行
  • tolist():将处理后的Series直接转为Python列表

示例验证

用你给出的测试数据运行效果如下:

import pandas as pd

# 构造测试DataFrame
df = pd.DataFrame({
    "Column1": ["adfghb, gad", "234rwfa", "ballbalba", "9adfad9, 5432", "99a"]
})

list1 = df["Column1"].str.split(r",\s*", expand=False).explode().tolist()
print(list1)
# 输出:['adfghb', 'gad', '234rwfa', 'ballbalba', '9adfad9', '5432', '99a']

极端大数据量优化

如果目标列数据量超过千万行、内存不足以一次性加载,可调整为分块处理模式:

chunk_size = 100000  # 每次处理10万行,可根据内存大小调整
list1 = []
for chunk in pd.read_csv("你的数据文件路径", usecols=["Column1"], chunksize=chunk_size):
    chunk_list = chunk["Column1"].str.split(r",\s*", expand=False).explode().tolist()
    list1.extend(chunk_list)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:09:01