如何替换 Polars DataFrame 中出现的整个字符串而不是子字符串?

问题描述 投票:0回答:2

我正在使用包含数千个字符串列的 Polars DataFrame,并且我正在寻找一种方法来将整个 DataFrame 中字符串“0”的所有实例替换为“-1”。

这是我尝试过的代码:

df.with_columns(pl.all().str.replace("0", "-1", literal=True))

但是,我遇到了这种方法的问题。当单元格包含“011212”之类的字符串时,结果将变为“-111212”,这不是所需的结果。我的目的是用“-1”专门替换整个字符串“0”,同时保留包含子字符串“0”的任何字符串不变。

非常感谢您的帮助。

python string replace python-polars
2个回答
0
投票

您可以尝试:

df = pl.DataFrame({"key": ["001","0", "2"], "value": [1, 2, 0]})

result_df = df.with_columns(pl.all().str.replace(r"^0$", "-1"))

0
投票

您可以使用正则表达式来定义您想要替换的确切字符串 -

df.with_columns(pl.all().str.replace(r"^0$", "-1"))

© www.soinside.com 2019 - 2024. All rights reserved.