我这样做是为了替换字符串中的字符:
df['msg'] = df['msg'].str.replace(u'X','W')
得到这个警告:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
然后,我尝试以正确的方式(我认为(进行同样的转换,以避免出现警告:
df.loc[:,'msg'] = df.loc[:,'msg'].str.replace(u'X','W')
但是,我仍然收到同样的警告,尽管这两个代码都很好用。
进行这种转换的正确方法是什么?
此警告可以使用方法copy()
:解决
df.loc[:,'msg'] = df['msg'].str.replace(u'X','W').copy()
或assign()
df = df.assign(msg=df['msg'].str.replace(u'X','W'))