我在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)
warnings.catch_warnings
是最好的选择李>pandas.util.testing
模块已被弃用。在Testing functions(GH16232)中使用pandas.testing
中的公共API李>pandas.util.testing.assert_produces_warning
他们在_testing.py中将其移动到“私有”API中
实际上,您可能应该直接使用pytest的
with pytest.warns()
方法来实现这一点,我怀疑这就是他们移动它的原因,尽管我找不到关于这个选择的讨论相关问题 更多 >
编程相关推荐