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

如何在pandas字符串列的最后一个整数位置拆分数据?

解决方案

方法一:用rsplit结合正则断言精准拆分

直接通过从右向左匹配最后一个数字后的空格,拆分出两部分:

# 拆分原列并生成两个新列
df[['前半部分', '后半部分']] = df['Original Column'].str.rsplit(r'(?<=\d)\s+', n=1, expand=True)
  • 正则r'(?<=\d)\s+'的作用:(?<=\d)是正向肯定断言,确保匹配的空格紧跟在数字之后;\s+匹配一个或多个空格。
  • rsplit从字符串右侧开始查找分隔符,n=1限制只拆分1次,刚好在最后一个数字后的空格处分割,完美符合你的需求。

方法二:用str.extract捕获分组提取

通过正则分组直接提取前后两部分内容:

# 捕获两个分组生成新列
df[['前半部分', '后半部分']] = df['Original Column'].str.extract(r'^(.*\d)\s+(.*)$', expand=True)
  • 正则r'^(.*\d)\s+(.*)$'的逻辑:
    • (.*\d)捕获第一组:从字符串开头到最后一个数字的所有内容(包含数字);
    • \s+匹配数字后的空格;
    • (.*)$捕获第二组:空格之后的所有文本内容。

这两种方法都能避免你之前代码中“每个数字都拆分”的问题,精准定位到最后一个数字的位置完成分割。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 18:22:36