为什么 pandas DataFrame 替换方法不起作用(使用 inplace=True 参数)

Why pandas DataFrame replace method does not work (inplace=True argument is used)

我将 CSV 文件转换为 pandas DataFrame,但发现所有内容都是 str,其模式类似于 ="content"

尝试使用 df.replace 替换 '=' 和 '"'。代码类似于

df.replace("=","", inplace = True)
df.replace('"',"", inplace = True)

但是,此代码在没有错误消息的情况下无法运行,并且 Dataframe 中没有任何内容被替换。

After df.replace

奇怪的是,在使用时有效

df[column] = df[column].str.replace('=','')

df[column] = df[column].str.replace('=','')

有没有可能使用 DataFrame 方法 replace/substitute 等号和双引号?我很好奇 df.replace 方法不可行的原因。

对不起,我只能提供图片,因为原​​始数据和代码在一个笔记本上,有锁的网络和USB功能。

感谢您的帮助

因为 .replace('=', '') 要求单元格值恰好 '=' 这显然不是你的情况。

您可以将它与 regex 一起使用:

df = pd.DataFrame({'a': ['="abc"', '="bcd"'], 'b': ['="uef"', '="hdd"'], 'c':[1,3]})
df.replace([r'^="', r'"$'], '', regex=True, inplace=True)
print(df)

     a    b  c
0  abc  uef  1
1  bcd  hdd  3

这里使用了两个正则表达式,第一个处理头部,第二个处理尾部。