从 NumPy 版本 19.0 开始,从“不规则”序列创建数组时必须指定 dtype=object
。我面临着来自我自己的代码和使用线程的 Pandas 的大量数组调用,逐行调试让我无处可去。
我想弄清楚哪个调用导致了我自己的代码中的 VisibleDeprecationWarning 或来自 Pandas 的调用。我怎么能调试这个?我一直在查看源代码,但看不到在 Python 中调用此警告(仅在 numpy.core._multiarray_umath.cp38-win_amd64.pyd 中)。
原文由 misantroop 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用创建参差不齐的数组的函数:
我得到了警告,但也得到了预期的结果。
我可以控制警告。
例如关闭:
或者引发错误:
该错误给出了一个回溯,告诉我警告是在哪里发出的。
可能有改进警告过滤器以仅捕获此警告过滤器而不捕获同一类别的其他方法的方法。我没怎么用过这个机制。
阅读
np.warnings.filterwarnings
文档了解更多详情。