[英]External Module into Flask - TypeError: 'Series' object is not callable
[英]TypeError: 'Series' object is not callable - Rolling window - Python
我有一個用Python定義的Hodrick-Prescott(HP)函數,如下所示:
import statsmodels.api as sm
def func_HP(close, params):
cycle,trend = sm.tsa.filters.hpfilter(close,params)
return trend
如果我將該功能應用於存在於datafrate中的列,如下所示:
df['Trend'] = func_HP(df['Close'],18000)
它工作正常,並且我獲得了整個“靜態”列的“趨勢”值。
我想將HP函數應用於df ['Close']列的滾動窗口。 窗口長度為240。這樣,HP過濾器將應用於滾動的240條記錄。 我使用了以下代碼:
x = df.rolling(window=240, min_periods=240, on='Close').apply(func_HP(df['Close'],18000))
但是我得到了錯誤:
TypeError:“系列”對象不可調用
我猜這是因為一旦應用滾動窗口,列df['Close']
就會變成數組:是嗎?
我該怎么做才能將滾動選擇的結果“轉換”為列?
是的,看起來hp_filter函數返回一個數組。 因此,您需要添加以下內容:
def func_HP(close, params):
cycle,trend = sm.tsa.filters.hpfilter(close,params)
df_trend = pd.dataframe(trend)
return df_trend
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.