天天看点

dataframe 修改指定位置的值 提示 SettingWithCopyWarning的解决办法

一、背景

记录dateframe的简单用法之修改变量的值。

二、需求复现

通过指定条件,修改某一列的值,无强制映射关系(即随机设置部分的值)

dataframe 修改指定位置的值 提示 SettingWithCopyWarning的解决办法

三、常见错误

1. 直接赋值错误,会提示系统无法赋值的警告

dataframe 修改指定位置的值 提示 SettingWithCopyWarning的解决办法

2. 使用map函数赋值

df7["sit_y"] = df7["pro_code"].map(lambda x: 19 if x==20 else 0)
           

使用map函数确实可以改变当前条件的值,但是对于其他条件,同样需要设置值,但需求中我们无需修改其他的值,因此也不适用目前的场景

综上所述,对某一条件修改值的需求,直接使用 .loc() 方法  关于此方法的参数和具体使用大家可以看官方文档的介绍。