錯誤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
或pd.rolling_std
與代碼中較早的一個numpy數組。
我的意思是這樣的:
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
什麼您最初導入它的值運行之前,但我仍然
強烈推薦你試圖找到你可能已經重新分配給定功能的地方。
謝謝,你剛剛保存了我的項目。 – codewarrior