首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用SettingWithCopyWarning ()忽略warnings.simplefilter?

如何使用SettingWithCopyWarning ()忽略warnings.simplefilter?
EN

Stack Overflow用户
提问于 2019-01-15 11:21:40
回答 2查看 30.2K关注 0票数 14

问题:

我是否可以忽略或阻止使用SettingWithCopyWarning将该warnings.simplefilter()打印到控制台

详细信息:

我正在使用熊猫运行一些数据清理例程,这些程序是使用批处理文件以最简单的方式执行的。我的Python中的一行将触发SettingWithCopyWarning并打印到控制台。但它也在命令提示符中得到响应:

除了整理错误来源之外,还有什么方法可以防止错误消息被打印到提示符,就像使用FutureWarnings (如warnings.simplefilter(action = "ignore", category = FutureWarning) )那样

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-15 11:52:04

虽然我强烈建议修复这个问题,但是可以通过从pandas.core.common导入警告来阻止它。我找到了它在GitHub上的位置。

示例:

代码语言:javascript
复制
import warnings

import pandas as pd
from pandas.core.common import SettingWithCopyWarning

warnings.simplefilter(action="ignore", category=SettingWithCopyWarning)

df = pd.DataFrame(dict(A=[1, 2, 3], B=[2, 3, 4]))
df[df['A'] > 2]['B'] = 5  # No warnings for the chained assignment!
票数 36
EN

Stack Overflow用户

发布于 2020-12-16 17:48:31

您可以使用:

代码语言:javascript
复制
pd.set_option('mode.chained_assignment', None)
# This code will not complain!
pd.reset_option("mode.chained_assignment")

或者如果您更愿意在上下文中使用它:

代码语言:javascript
复制
with pd.option_context('mode.chained_assignment', None):
    # This code will not complain!
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54197853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档