首页 > 解决方案 > 如果出现在python中,如何从列值中删除额外的小数

问题描述

如果它存在于列中,我希望从行的最后一个中删除任何第二个小数。

输入数据:

column1

27.356.10
25689
2345.00
NaN
123.25.70
12.345.75.00

预期输出:

column1

27356.10
25689
2345.00
NaN
12325.70
1234575.00

使用的代码:

df['column1'] = df['column1'].replace('[^\d.]', '', regex=True).astype(float)

上面的脚本删除了特殊字符,但是如果存在,如何删除最后一个小数点后的第 2 位或第 3 位小数

标签: pythonpandas

解决方案


正则表达式101

df["column1"] = df["column1"].str.replace(r"(\.)(?=.*\.)", "", regex=True)
print(df)

印刷:

      column1
0    27356.10
1       25689
2     2345.00
3         NaN
4    12325.70
5  1234575.00

推荐阅读