Python Pandas replace() 不起作用



我有一些字段,其中有一些来自上游进程的垃圾。我正在尝试从将此垃圾邮件附加到电子邮件地址的列中删除"\r名称:hwowneremail,dtype:对象"。

report_df['Owner'].replace('rnName: hwowneremail, dtype: object',inplace=True)
report_df['Owner'][26]

输出:

'   Jane.Doe@company.comrnName: hwowneremail, dtype: object'

我还尝试了以下变体,但没有成功:

replace('Name: hwowneremail, dtype: object', inplace=True)
replace('\r\nName: hwowneremail, dtype: object', inplace=True
replace(r'rnName: hwowneremail, dtype: object', inplace=True)
replace('rnName: hwowneremail, dtype: object', "", inplace=True)
replace(to_value='rnName: hwowneremail, dtype: object', value=' ',inplace=True)
replace('\r\nName: hwowneremail, dtype: object',regex=True,inplace=True)

提前感谢您的见解!

据我所知,Python Pandas被稍微改变了一点。您应该尝试传递正则表达式关键字参数。

这样;

report_df['Owner'].replace({'rnName: hwowneremail, dtype: object':''},regex=True)

或者你可以使用:

report_df.Owner.str.replace(r'rn.*', '')

或者有时只是确保在您要查找的字符/str之前或之后没有空格(expl. ?

df.replace(r's*?s*', np.nan, regex=True) 

或者只是确保指定要查找字符串:

df.replace(r'?', np.nan, regex=True)

对于这两种情况:不要忘记

regex=True 

最新更新