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

如何用Pandas按条件拆分列:末尾含字母则拆分,否则第二列为空

Pandas DataFrame 列拆分解决方案

需求说明

对 Pandas DataFrame 指定列执行拆分逻辑:

  • 若元素末尾包含任意字母,将字母作为第二列值,剩余部分作为第一列值
  • 若元素末尾无字母,第二列值设为 None

示例数据

import pandas as pd
data = pd.DataFrame({"data": ["0.00I", "0.01E", "99.99", "0.14F"]})

实现代码

利用正则表达式结合 str.extract 方法完成拆分:

# 提取数字部分和可选的末尾字母
data[['a', 'b']] = data['data'].str.extract(r'^(\d+\.\d+)([A-Za-z])?$')
# 将空值替换为 None
data['b'] = data['b'].where(data['b'].notna(), None)
# 移除原始列(可选操作)
data = data.drop('data', axis=1)
print(data)

运行结果

a     b
0    0.00     I
1    0.01     E
2   99.99  None
3    0.14     F

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 13:35:25