为什么 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
这里使用了两个正则表达式,第一个处理头部,第二个处理尾部。
我将 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
这里使用了两个正则表达式,第一个处理头部,第二个处理尾部。