我只花了半个小时研究 statsmodels 的 SARIMAX 功能中的一个错误,我最终可以追溯到 numpy.int32 未能对 int 进行类型检查这一事实。
>>> import numpy as np
>>> foo = np.int32(3)
>>> isinstance(foo, int)
False
Run Code Online (Sandbox Code Playgroud)
有没有办法在没有显式类型转换的情况下规避这种问题?正确的代码是否应该测试类型而不检查变量是否可以安全地转换为类型?
编辑:我的问题是通过说明导致此行为的技术限制或设计决策以及如何以 python 方式处理可能出现纯 pythonint和 numpyint32或int64类型的情况来回答的。