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

如何在Python Pandas中格式化带符号与前导零的字符串为目标格式

Pandas列字符串格式转换方案

针对DataFrame中某列类似+0094、-0082格式的字符串,要转换成 94、-82的格式,有两种简便实现方式:

方法一:正则表达式替换

通过str.replace结合正则匹配,精准替换前缀部分:

import pandas as pd

# 构造示例数据
df = pd.DataFrame({'target_col': ['+0094', '-0082', '+0105', '-0007']})

# 替换正号开头的前缀(+加前导零)为空格
df['target_col'] = df['target_col'].str.replace(r'^\+0*', ' ', regex=True)
# 替换负号开头的前缀(-加前导零)为负号
df['target_col'] = df['target_col'].str.replace(r'^-0*', '-', regex=True)

执行后,target_col列的值就会变成 94、-82、 105、-7的格式。

方法二:转数值后格式化

先将字符串转为整数自动去除前导零,再按需求格式化输出:

# 构造示例数据
df = pd.DataFrame({'target_col': ['+0094', '-0082', '+0105', '-0007']})

# 转整数后,正数前加空格,负数直接保留格式
df['target_col'] = df['target_col'].astype(int).apply(lambda x: f" {x}" if x > 0 else f"{x}")

这种方法更直观,利用整数类型自动处理前导零和正号,再通过格式化添加空格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 15:35:26