pandas DataFrame 警告(SettingWithCopyWarning)的解决二
被警告(SettingWithCopyWarning)的代码语句:
my_df3['color'] = my_df3['colorName'] # 不能在原来的基础上去赋值修改代码意思,会改变原来的dadaframe my_df3['color'] = my_df3['color'].str.replace(r"(.*(|.*[(])|().*|[)].*)", "")
正确的代码语句:
my_df5 = my_df3.loc[:, ['colorName']] my_df5.rename(columns={'colorName': 'color'}, inplace=True) # 把字段colorName重命名为color my_df5 = my_df5['color'].str.replace(r".*(|.*[(]|).*|[)].*", "") # 通过正则表达式提取颜色,中文小括号()和英文小括号()有4种组合方式,英文状态下小括号在正则表达式种有特殊含义,所以需要添加中括号[] my_df3 = my_df3.join(my_df5) # 再合并回去