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

Python Pandas如何拆分无空格分隔的数字与文本混合字符串

Pandas拆分数字文本拼接列实现方法

核心采用正则匹配+str.extract批量处理,适配所有「数字在前、非数字文本在后无分隔拼接」的行,处理数千行数据效率无压力。

实现代码

假设待拆分的列名为mixed_col,拆分后的两列分别命名为num_part(数字部分)和text_part(文本部分):

import pandas as pd

# 核心拆分逻辑
df[['num_part', 'text_part']] = df['mixed_col'].str.extract(r'(\d+\.?\d*)(\D+)')

# 可选:将数字部分转换为数值类型(默认拆分后为字符串格式)
df['num_part'] = pd.to_numeric(df['num_part'])

规则说明

  • 正则r'(\d+\.?\d*)(\D+)'的匹配逻辑:
    • 第一组(\d+\.?\d*):匹配整数、带小数点的浮点数格式的数字部分
    • 第二组(\D+):匹配所有非数字的文本部分
  • 若需要提前排查不符合拼接规则的异常行,可执行以下代码筛选:
# 输出所有不符合「数字在前+文本在后」拼接规则的行
abnormal_rows = df[~df['mixed_col'].str.match(r'^\d+\.?\d*\D+$')]

测试效果

输入测试数据:

mixed_col
0.3314QSF
123ABC
45.67DEF
89GHI

拆分后输出:

mixed_colnum_parttext_part
0.3314QSF0.3314QSF
123ABC123ABC
45.67DEF45.67DEF
89GHI89GHI

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 16:45:06