特定の列に特定の値がある行と現在の行のインデックスの違いを計算する方法を理解しようとしています。
すなわち
私はデータフレームを持っています:
import pandas as pd
# pandas settings
pd.set_option('display.max_columns', 320)
pd.set_option('display.max_rows', 1320)
pd.set_option('display.width', 320)
df = pd.read_csv('https://www.dropbox.com/s/hy94jp4d7qwmv04/eurusd_df1.csv?dl=1')
だから、ろうそく=ろうそく-20の行が後ろにあるインデックスの数を計算したいと思います
たとえば、現在の行が 583185 でろうそくの値が 119 の場合、関心のあるろうそくは 99 です。
私は自分自身を明確にしたことを願っています、乾杯=)
編集: わかりました、私は上記のかなり悪い説明をしました..
私は実際にこれを自分で解決することにかなり近づいていると信じています。見てください:
x = df.index[df.candle == df.candle - 20][0]
df['test'] = df.bid.rolling(int(x)).mean()
したがって、「テスト」列は、df.bid の最後の X 行の mean() 値である必要があります。ここで、X は、現在の df.candle と 20 ローソク足前の行との間の行数です (最初の反復なので [0] (そこに同じろうそく値を持つ多くの行です))
しかし、上記のコードではエラーが発生します。
IndexError: インデックス 0 は、サイズ 0 の軸 0 の範囲外です