该错误TypeError: 'numpy.ndarray' object is not callable
意味着您尝试将 numpy 数组作为函数调用。我们可以在 repl 中重现错误:
In [16]: import numpy as np
In [17]: np.array([1,2,3])()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/home/user/<ipython-input-17-1abf8f3c8162> in <module>()
----> 1 np.array([1,2,3])()
TypeError: 'numpy.ndarray' object is not callable
如果我们假设错误确实来自您发布的代码片段(您应该检查的东西),那么您必须在代码的前面重新分配pd.rolling_mean
或分配给一个 numpy 数组。pd.rolling_std
我的意思是这样的:
In [1]: import numpy as np
In [2]: import pandas as pd
In [3]: pd.rolling_mean(np.array([1,2,3]), 20, min_periods=5) # Works
Out[3]: array([ nan, nan, nan])
In [4]: pd.rolling_mean = np.array([1,2,3])
In [5]: pd.rolling_mean(np.array([1,2,3]), 20, min_periods=5) # Doesn't work anymore...
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/home/user/<ipython-input-5-f528129299b9> in <module>()
----> 1 pd.rolling_mean(np.array([1,2,3]), 20, min_periods=5) # Doesn't work anymore...
TypeError: 'numpy.ndarray' object is not callable
所以,基本上你需要搜索你的代码库的其余部分pd.rolling_mean = ...
和/或pd.rolling_std = ...
查看你可能在哪里覆盖了它们。
此外,如果您愿意,您可以
reload(pd)
在您的代码片段之前放入,这应该可以通过恢复
pd
您最初导入它的值来运行它,但我仍然
强烈建议您尝试找到您可能重新分配的位置给定的功能。