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)  # 再合并回去

 

posted @ 2022-10-30 18:06  商品部-林军  阅读(85)  评论(0编辑  收藏  举报