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

如何提取Pandas DataFrame列中的首个字符串序列?

解决方法

你的代码问题在于x[0]是取字符串的第一个字符,而非逗号分隔后的首个完整子串。以下是两种正确实现方式:

方法1:使用Pandas字符串方法(推荐)

这种方式更简洁且性能更优:

df['ColumnB'] = df['ColumnA'].str.split(',', n=1).str[0].str.strip()
  • str.split(',', n=1):将每行字符串按逗号分割为两部分(n=1限制仅分割一次,提升效率)
  • str[0]:提取分割后的第一个子串
  • str.strip():去除子串前后的空格(处理类似" bc"这种带前导空格的情况)

方法2:修正你的lambda映射写法

如果你偏好使用map,可以修改为:

df['ColumnB'] = df['ColumnA'].map(lambda x: x.split(',')[0].strip())

这里x.split(',')会把字符串按逗号分割成列表,取第一个元素后再用strip()清理空格。

验证效果

运行上述代码后,你的DataFrame会生成符合预期的ColumnB:

Column AColumn B
ab, bce, bcab
bc, abcd, abbc
ab, cd, abcab

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 18:25:23