我正在使用包含数千个字符串列的 Polars DataFrame,并且我正在寻找一种方法来将整个 DataFrame 中字符串“0”的所有实例替换为“-1”。
这是我尝试过的代码:
df.with_columns(pl.all().str.replace("0", "-1", literal=True))
但是,我遇到了这种方法的问题。当单元格包含“011212”之类的字符串时,结果将变为“-111212”,这不是所需的结果。我的目的是用“-1”专门替换整个字符串“0”,同时保留包含子字符串“0”的任何字符串不变。
非常感谢您的帮助。
您可以尝试:
df = pl.DataFrame({"key": ["001","0", "2"], "value": [1, 2, 0]})
result_df = df.with_columns(pl.all().str.replace(r"^0$", "-1"))
您可以使用正则表达式来定义您想要替换的确切字符串 -
df.with_columns(pl.all().str.replace(r"^0$", "-1"))