Python 如何找出和访问子类?

Python 如何找出和访问子类?,python,pandas,warnings,Python,Pandas,Warnings,我正在尝试排除故障 在尝试精确定位位置时(尽管我也对如何通常这样做感兴趣),我只想在设置WithCopyWarning时设置一个to错误 我正在努力: import warnings warnings.simplefilter("error", SettingWithCopyWarning) 这不起作用,因为解释器不知道COPYWARNING的设置是什么。我假设它是pandas创建的警告子类,但我不确定如何正确设置此筛选器(或如何直接访问该类) 对于其他颜色,警告(在python或pandas

我正在尝试排除故障

在尝试精确定位位置时(尽管我也对如何通常这样做感兴趣),我只想在设置WithCopyWarning时设置一个to错误

我正在努力:

import warnings
warnings.simplefilter("error", SettingWithCopyWarning)
这不起作用,因为解释器不知道COPYWARNING的设置是什么。我假设它是pandas创建的警告子类,但我不确定如何正确设置此筛选器(或如何直接访问该类)

对于其他颜色,警告(在python或pandas的最新版本中,不确定更改发生在何处)确实会告诉您位置,但在本例中,它发生在pandas核心代码中:

/path/to/my/virtualenv/lib/python2.7/site-packages/pandas/core/indexing.py:426: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  self.obj[item] = s
我需要查看整个回溯,以找出熊猫的叫声最终触发了这个警告,因此我希望得到这个错误


感谢您帮助找出如何精确定位此警告。

您需要指定其精确位置:

import pandas as pd
import warnings
warnings.simplefilter("error", pd.core.common.SettingWithCopyWarning)

谢谢绩效预警呢?当我尝试warnings.simplefilter(“error”,pandas.core.common.PerformanceWarning)时,我得到AttributeError:“module”对象没有属性“PerformanceWarning”