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

pandas将单列逗号分隔字符串拆分为多列的向量化操作实现咨询

最优实现方案

使用str.split()的expand=True参数即可直接把拆分结果展开为DataFrame,一次性完成多列赋值,全程都是pandas原生向量化操作,性能远高于apply方案:

import pandas as pd

# 测试数据
df = pd.DataFrame({"title":["Canada,Chris,Data Scientist", "Korea,Kim,Analyst", "HK,Lai,Scientist"],
                   "R":[0.7, 0.2, 0.3]})

# 核心拆分代码
df[["country", "name", "job"]] = df["title"].str.split(",", expand=True)

如果数据存在title中包含多余逗号的情况,可以加n参数限制拆分次数,保证拆分后固定为3列,逻辑更稳妥:

df[["country", "name", "job"]] = df["title"].str.split(",", n=2, expand=True)

其他可选实现(性能略低于上述方案)

如果你需要单独生成某一列,也可以用str.get()获取拆分后列表对应位置的元素,同样属于向量化操作:

df["country"] = df["title"].str.split(",").str.get(0)
df["name"] = df["title"].str.split(",").str.get(1)
df["job"] = df["title"].str.split(",").str.get(2)

该方案需要对列做三次拆分,数据量较大时性能不如一次性拆分+expand的写法,仅适合需要单独处理某一列的场景。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 00:36:05