1
是否有可能將多個函數應用於像tuner這樣的元組中的pandas滾動窗口?Python Pandas滾動窗口應用多個lambda函數
我目前正在創建通過滾動窗口中的價格系列的計數來返回最大倉的數量,下限和上限。
def qcut_data(x):
data_out = pd.qcut(x, q = 10, duplicates = 'drop').value_counts().nlargest(1)
return data_out
df_m['hist_count'] = df_m['mid'].rolling(window = rolling_window).apply(lambda x: qcut_data(x).item())
df_m['hist_bottom'] = df_m['mid'].rolling(window = rolling_window).apply(lambda x: qcut_data(x).index[0].left)
df_m['hist_top'] = df_m['mid'].rolling(window = rolling_window).apply(lambda x: qcut_data(x).index[0].right)
這令我很沒效率的,因爲我剛剛返回相同的功能(qcut_data)的不同值(項目和索引),在同一系列的相同的滾動窗口(df_m [「中」] )。
有沒有一種方法可以將這三個值組合起來?
我不能在.apply()方法中調用列表,元組或集合,有沒有另一種方法?