.rolling()内部的一些计算给出了IndexError

时间:2019-03-25 18:57:21

标签: python pandas rolling-computation

我不知道.rolling()的确切值,因此我需要根据另一列df.candle的值来计算它。因此,我想计算当前行与df.candle = (df.candle[current_iteration] - 20)[0]行之间的索引差(所以后面有20根蜡烛,并且第一次迭代(有多个蜡烛值相同的行,所以[0])

所以我虽然这样应该可以工作:

import pandas as pd

df = pd.read_csv('https://www.dropbox.com/s/hy94jp4d7qwmv04/eurusd_df1.csv?dl=1')
df.reset_index(inplace=True)

# pandas settings
pd.set_option('display.max_columns', 320)
pd.set_option('display.max_rows', 1320)
pd.set_option('display.width', 320)

#
a = df.index[df.candle == df.candle - 20][0]
df['test'] = df.bid.rolling(int(a)).mean()

但是它实际上给出了一个错误:

IndexError: index 0 is out of bounds for axis 0 with size 0

所以我在这里有点迷路了...

编辑:也许是一个更好更简短的解释:https://www.reddit.com/r/learnpython/comments/b5o8o5/pandas_rolling_with_some_calculations_inside/

0 个答案:

没有答案