gpt4 book ai didi

python - 当用 "10.0"替换 ".0"时,""被完全删除

转载 作者:太空宇宙 更新时间:2023-11-04 06:49:55 24 4
gpt4 key购买 nike

我有一个包含 float 字符串的数据框列,我想在适用的情况下删除尾随的“.0”。但是,在执行 df["numbers"].str.replace(".0", "") 时,字符串“10.0”被完全删除,而不是被替换为“10”。这似乎只影响数字 10、100 等。

MWE:

import pandas as pd
df = pd.DataFrame({"numbers": ["1.0", "10.0", "10.1", "100.0", "100.1", "99.0"]})
print df
# numbers
# 0 1.0
# 1 10.0
# 2 10.1
# 3 100.0
# 4 100.1
# 5 99.0
print df.numbers.str.replace(".0", "")
# 0 1
# 1
# 2 .1
# 3 0
# 4 0.1
# 5 99

这是一个错误还是按预期工作?另请注意,“10.1”通过这种方法更改为“.1”,这很奇怪。

最佳答案

Dataframe.str.replace 采用正则表达式,因此 . 匹配任何字符。你要

df.numbers.str.replace("\.0", "")

关于python - 当用 "10.0"替换 ".0"时,""被完全删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44307877/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com