【发布时间】:2021-09-22 02:19:37
【问题描述】:
您好,我想删除整个 DataFrame 字符串末尾的所有“.0”,我需要它完全匹配。
让我们做一个例子 df:
a b c
20 39.0 17-50
34.0 .016.0 001-6784532
想要的输出:
a b c
20 39 17-50
34 .016 001-6784532
我尝试使用replace,但由于某种原因它不起作用(我读到可能是因为替换只替换整个字符串而不是子字符串?)。无论哪种方式,如果有一种方法可以工作,我很想知道它,因为它适用于我的数据框,但我觉得它不太正确,以防万一我有像 .016.0 这样的值,因为它也会取代第一个2 个字符。
然后我用正则表达式r'\.0$' 尝试了 sub 和 rtrim,但我也没有让它工作。我不确定是因为正则表达式还是因为这些方法不适用于整个数据帧。同样将 rtrim 与 .0 一起使用也不起作用,因为它还删除了之前没有点的零,然后 20 将变为 2。
使用正则表达式尝试 sub 和 rtrim 时,我收到一个错误,即数据框没有属性 str,这怎么可能?
有没有办法在不遍历所有列的情况下做到这一点?
谢谢!
【问题讨论】:
标签: python pandas string regexp-replace character-trimming