使用.str.replace()vs .replace()更新pandas DataFrame

lan*_*dge 2 python dataframe pandas

我的pandas Dataframe df中有一个列,其中包含一些字符串,其中包含一些尾随的十六进制编码的NULL(\ x00).至少我认为就是这样.当我尝试用以下内容替换它们时:

df['SOPInstanceUID'] = df['SOPInstanceUID'].replace('\x00', '')
Run Code Online (Sandbox Code Playgroud)

该列未更新.当我这样做的时候

df['SOPInstanceUID'] = df['SOPInstanceUID'].str.replace('\x00', '')
Run Code Online (Sandbox Code Playgroud)

它工作正常.这有什么区别?(SOPInstanceUID不是索引.)

谢谢

EdC*_*ica 8

前者寻找完全匹配,后者在字符串的任何部分寻找匹配,这就是后者适合你的原因.

这些str方法与标准string等价物同义,但是是矢量化的