私は四半期米国GDPのデータフレームを列の値として持っています。私は一度に3つの価値観を見て、GDPが次の2四半期連続で下落した指数を見つけたいと思います。これは、df ['GDP']内の個々の要素を3つのグループで互いに比較する必要があることを意味します。データフレーム上のローリングウィンドウ内の個々の要素にアクセスする方法
ここではデータフレームの例を示します。
df = pd.DataFrame(data=np.random.randint(0,10,10), columns=['GDP'])
df
GDP
0 4
1 4
2 4
3 1
4 4
5 4
6 8
7 2
8 3
9 9
私はdf.rolling().apply(find_recession)
を使用していますが、私は私のfind_recession()
関数内でローリング・ウィンドウの個々の要素にアクセスする方法を知りません。
gdp['Recession_rolling'] = gdp['GDP'].rolling(window=3).apply(find_recession_start)
は、どのように私はローリング・ウィンドウ内の個々の要素にアクセスすることができますので、私はgdp_val_2 < gdp_val_1 < gdp_valような比較を行うことができますか? 。
.rolling())(適用、全体のデータフレームを通過する時には3つの値、それでは、インデックス位置6から始まる1つの特定のウィンドウ、見てみましょうします:
GDP
6 8 # <- gdp_val
7 2 # <- gdp_val_1
8 3 # <- gdp_val_2
現在のウィンドウ内でgdp_val、gdp_val_1、およびgdp_val_2にアクセスするにはどうすればよいですか?
あなたの質問は不明です。あなたのデータの小さなサンプルと期待される結果は、大いに役立ちます。 [MCVE](http://stackoverflow.com/help/mcve)をお読みください。 – Kartik
[The docs](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.core.window.Rolling.apply.html#pandas.core.window.Rolling.apply)は、この関数'' 'ndarray入力から単一の値を生成しなければなりません...' ''。だからあなたはそれにインデックスをつけるだけです。私はそれが渡された最初の位置的な引数だと思います。渡されたものを出力するダミー関数を記述してください。 – wwii
関数内で '' numpy.all(a [1:] wwii