soontobedeprecated pandas.util.TETTING.assert\u警告是否有替代方案?

2024-09-30 03:26:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我在API中没有看到一个,尽管警告建议它应该可用:

In [1]: import pandas

In [2]: from pandas.util.testing import assert_produces_warning
/home/mghenis/anaconda3/bin/ipython:1: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.
  #!/home/mghenis/anaconda3/bin/python


In [3]: from pandas.testing import assert_produces_warning
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-3-38c6b9f78373> in <module>
----> 1 from pandas.testing import assert_produces_warning

ImportError: cannot import name 'assert_produces_warning' from 'pandas.testing' (/home/mghenis/anaconda3/lib/python3.7/site-packages/pandas/testing.py)

Tags: infromimportapipandashomebinutil
2条回答
  • ^{}的源代码声明它是^{}的包装器。
    • 似乎使用warnings.catch_warnings是最好的选择
    • Examples
  • 从熊猫1.0.0发行说明:
  • 根据pandas 0.25 Test Warningspandas.util.testing.assert_produces_warning
    • 我们更喜欢使用^{}上下文管理器,因为我们检查警告的stacklevel设置是否正确

他们在_testing.py中将其移动到“私有”API中

实际上,您可能应该直接使用pytestwith pytest.warns()方法来实现这一点,我怀疑这就是他们移动它的原因,尽管我找不到关于这个选择的讨论

相关问题 更多 >

    热门问题