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()
posted @ 2018-08-04 19:53  不知道的痛  阅读(967)  评论(0编辑  收藏  举报