我正在尋找替換 DataFrame 列中的字串,這些字串包含特殊字符。
我嘗試了以下方法,但 DataFrame 中沒有任何變化:
data = {'col1': ["series ${z_mask0}", "series ${z_mask1}", "series ${z_mask2}"]}
df = pd.DataFrame(data)
print(df)
old_values = ["${z_mask0}", "${z_mask1}", "${z_mask2}"]
new_values = ["${z_00}", "${z_01}", "${z_02}"]
df = df.replace(old_values_sign, new_values_sign, regex=True)
print(df)
預期的輸出是:['series ${z_00}', 'series ${z_01}', 'series ${z_02']
uj5u.com熱心網友回復:
您需要使用串列\中的 $ 字符轉義old_values:
old_values = ["\${z_mask0}", "\${z_mask1}", "\${z_mask2}"]
以上應該夠了。這是所有代碼:
old_values = ["\${z_mask0}", "\${z_mask1}", "\${z_mask2}"]
new_values = ["${z_00}", "${z_01}", "${z_02}"]
df = df.replace(old_values, new_values, regex=True)
print(df)
輸出:
col1
0 series ${z_00}
1 series ${z_01}
2 series ${z_02}
uj5u.com熱心網友回復:
您是否嘗試過使用原始字串old_values?那里有一些 RegEx 字符可能會干擾您的結果(“{”、“}”和“$”)。試試這個:
old_values = [r"${z_mask0}", r"${z_mask1}", r"${z_mask2}"]
注意r每個字串之前
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/519469.html
標籤:Python数据框代替
