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

如何在Pandas中使用多个字符分割字符串?

Pandas多分隔符字符串分割实现方案

初始数据构造

先构造你提供的初始DataFrame:

import pandas as pd

df = pd.DataFrame(
    data=['String1 - String2', 'This > That', 'One <-> Two'],
    columns=["Value"]
)

初始数据表格:

IndexValue
0String1 - String2
1This > That
2One <-> Two

需求说明

需要以-、>或<->(包含前两种符号的组合)作为分隔符,分割Value列的字符串,新增String1和String2列,最终得到如下结果:

IndexValueString1String2
0String1 - String2String1String2
1This > ThatThisThat
2One <-> TwoOneTwo

实现代码

使用Pandas的str.split结合正则表达式,一次性匹配多种分隔符完成分割:

# 按正则匹配的分隔符分割,仅分割1次并展开为DataFrame
split_result = df['Value'].str.split(r'\s*(?:-|>|<->)\s*', n=1, expand=True)
# 为分割后的列命名
split_result.columns = ['String1', 'String2']
# 将分割结果与原DataFrame合并
final_df = pd.concat([df, split_result], axis=1)

代码说明

  • r'\s*(?:-|>|<->)\s*':正则表达式用于匹配分隔符,\s*匹配分隔符前后的任意空格,(?:-|>|<->)精准匹配三种目标分隔符模式
  • n=1:限制仅分割一次,确保每个字符串被拆分为固定的两部分,避免产生多余列
  • expand=True:将分割后的Series转换为DataFrame,方便直接与原数据合并

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 14:30:53