zoukankan      html  css  js  c++  java
  • SettingWithCopyWarning

    警告分析

    这个警告常常在对一个dataframe进行切片的操作上。

    SettingWithCopyWarning 告诉你,你的操作可能没有按预期运行,需要检查结果以确保没有出错。

    如果代码确实按预期工作,那么我们会很容易忽略该警告,但是 SettingWithCopyWarning 不应该被忽略。

    在进行下一步操作之前,我们需要花点时间了解这一警告显示的原因。

    要了解 SettingWithCopyWarning,首先要知道,Pandas 中的某些操作会返回数据的视图(View),某些操作会返回数据的副本(Copy)。

    返回视图,那么代表修改了原数据;

    返回副本,那么代表产生了一个变量来保存数据;

    底层原理是“链式索引”,即两个个索引操作连接在一起。

    解决问题的方案

    方案1(最正确的方案)

    这种情况对应的解决方案很简单:使用 loc 将两次链式操作组合成一步操作,确保 Pandas 进行 Set 的是原始 DataFrame。

    方案2

    明确的将切片操作取copy() 对象。

    方案3(最不建议,还是忘了吧。。。)

    关闭pandas的警告

    pd.set_option('mode.chained_assignment', None)

  • 相关阅读:
    Python 爬虫
    Web 前端编程运维必备
    Docker 运维高级应用管理
    Python 运维之路
    Linux 运维之路
    8086汇编 中断
    8086汇编 rep 指令
    8086汇编 cmp 指令
    8089汇编 标志寄存器
    8086汇编 call 指令
  • 原文地址:https://www.cnblogs.com/howmanyk/p/13893254.html
Copyright © 2011-2022 走看看