仅在整数数据类型的情况下删除前导零

Remove leading zeros only in case of integers datatype

我只想在整数值的情况下删除前导零。 我尝试了以下方法:

df['col'].str.replace(r'^0+(?=[[0-9]])', '', regex=True)

但是这不起作用。有人知道如何实现吗?

这可能有效:

df['CRITERIA_VALUE'] = df['CRITERIA_VALUE'].str.apply(lambda x: int(x))

正在将我的评论转换为答案,以便未来的访问者可以轻松找到解决方案。

您或许可以使用:

df['CRITERIA_VALUE'].str.replace(r'^0+(?=[0-9]+$)', '', regex=True)

正则表达式详细信息:

  • ^0+: 在开头匹配 1+ 个零。
  • (?=[0-9]+$):先行断言我们在结束位置之前有 1 个或多个 ASCII 数字。

RegEx Demo