1
ファンドのようなタプルで複数の関数をパンダローリングウィンドウに適用できますか?Python Pandasローリングウィンドウに複数のラムダ関数を適用する
私は現在、ローリングウィンドウ上の価格系列のカウントによって、最大のビンのカウント、下限、上限を返すように作成しています。
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)
私はちょうど同じシリーズの同じローリング・ウィンドウ(df_m [「中期」]の上に、同じ機能(qcut_data)の異なる値(項目とインデックス)を返すよ、これは恐ろしく非効率的なとして私を打ちます)。
これらを組み合わせる方法はありますか?3つの値はすべて返されますか?
リストやタプルを呼び出すことはできません。また、.apply()メソッドで設定することもできますが、別の方法がありますか?