SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame警告处理
前言
在删除和修改DataFrame中的数据时,IPython报出了这个警告。虽然不影响程序执行,而且记得原来在pycharm下也执行过对df的修改但是没有问题,抱着好奇心去查了一番。内容极其相似,以至于完全是复制粘贴的文章,到处都是,看了一下感觉没道理。
报错代码:
df = mealInfo.head(10)
#增加
df['pay'] = df['counts']*df['amounts']
# df
df['pay_time'] = '2018-08-04'
df.head()
如代码所示,增加了两列,都报了那个警告。警告中也写了使用 loc[] ,试了下没用
解决方法
我也是看到别人指出的,因为是直接对副本修改,在修改前应该先对副本复制一下
df = mealInfo.head(10).copy()