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

如何将Pandas DataFrame单列中逗号分隔值拆分提取为新列?

Pandas逗号分隔单列拆分多列实现方案

你之前调用.split()失败的核心原因是直接对DataFrame的Series列对象调用了Python原生的字符串split方法,pandas中要处理列内的字符串操作,需要先通过.str访问器调用专属的字符串处理方法。

最优实现方式如下:

核心实现代码

import pandas as pd

# 构造示例数据,实际使用时替换为你自己的DataFrame即可
df = pd.DataFrame({
    'column_1': ['1,2,0.3', '2,3,0.4']
})

# 拆分column_1列,直接生成3个新列并转换为数值类型
df[['column_2', 'column_3', 'column_4']] = df['column_1'].str.split(',', expand=True).astype(float)

执行后即可得到你需要的输出结果。

适配不确定拆分列数的场景

如果提前不知道column_1拆分后会生成多少列,可以用下面的通用写法:

# 先拆分得到临时的拆分结果表
split_cols = df['column_1'].str.split(',', expand=True)
# 自动生成新列的列名
split_cols.columns = [f'column_{i+2}' for i in split_cols.columns]
# 把拆分后的列合并到原表中
df = pd.concat([df, split_cols.astype(float)], axis=1)

常见参数说明

  • split(',', expand=True):expand参数设为True会直接把拆分后的列表展开成多列DataFrame,默认False只会返回每个元素是列表的Series
  • astype(float):拆分出来的列默认是字符串类型,按需转换为数值/其他类型即可
  • 如果存在空值、异常格式的行,可以添加na_action='ignore'参数避免报错:df['column_1'].str.split(',', expand=True, na_action='ignore')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 01:24:07