您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python中如何处理Pandas中的SettingWithCopyWarning?

Python中如何处理Pandas中的SettingWithCopyWarning?

SettingWithCopyWarning被创造的标志可能造成混淆的“链接”的任务,比如下面这并不总是如预期的工作,特别是当第一选择返回一个副本。[ 有关背景讨论,请参见GH5390GH5597。]

df[df['A'] > 2]['B'] = new_val  # new_val not set in df

该警告提出了如下重写建议:

df.loc[df['A'] > 2, 'B'] = new_val

但是,这不适合您的用法,相当于:

df = df[df['A'] > 2]
df['B'] = new_val

很明显,您不必在意将其写回到原始帧的写操作(因为您重写了对它的引用),但不幸的是,这种模式无法与第一个链式分配示例区分开,因此(误报)警告。如果您想进一步阅读,可能会在建立索引的文档中解决误报的可能性。您可以通过以下分配安全地禁用此新警告。

pd.options.mode.chained_assignment = None  # default='warn'
python 2022/1/1 18:23:24 有507人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶