pandas列操作中的SettingWithCopyWarning解决方案?

使用做数据处理的时候经常会使用列操作,经常会报SettingWithCopyWarning。

比如:df['a'] = df['a'].apply(lambda x:x**2)

有测试过以下几种方案:

方案1:

df_copy = df['a'].copy()  
df_copy.apply(lambda x:x**2)
df.loc[:,'a'] = df_copy.values

方案2:

 df_copy = df.loc[:,'a']  
df_copy.apply(lambda x:x**2)
df.loc[:,'a'] = df_copy.values

求pandas爱好者共同探讨好的解决方案!

谢谢,但是上述的方法除了iloc的没有试过,其他都有试过,还是不行的,还是会报warning的

df_copy = df['a'].copy()  
df_copy.apply(lambda x:x**2)
df.loc[:,'a'] = df_copy.values

已解决,df['a'] 不能是二次 .loc 的值,否则会报错,大家请注意

.copy()很关键了