我有一个5分钟观察的熊猫DF。 我想为收盘价rsi的1小时观察添加另一列,但使用新的5分钟观察之前的60分钟,每5分钟一次。它需要每5分钟更新一次。 我尝试过重新采样,但当新数据进来时,我遇到了一个问题,60分钟还没有完成,因此我不希望在一小时内更新,而是每5分钟更新一次
我试过使用df['sma60'] = df.close.rolling(window=60)
,但当我应用PYTI rsi时,我得到了NAN's
编辑: 在第一个答案之后,我尝试了下面的方法,但是如果你看下面的图表,我觉得不太对劲
df['rsiCurrent'] = rsi(df.close, 13)
df['sma15'] = df.close.rolling('15min').mean()
df['rsi15'] = rsi(df.sma15, 13)
df['sma60'] = df.close.rolling('1H').mean()
df['rsi60'] = rsi(df.sma15, 13)
Display the output graphs and you can see it doesn't look right
plt.figure(figsize=(20, 8))
plt.subplot(311)
plt.plot(df[:450]['rsiCurrent'])
plt.legend(['TDI Cur'])
plt.subplot(312)
plt.plot(df[:450]['rsi15'])
plt.legend(['TDI 15m'])
plt.subplot(313)
plt.plot(df[:450]['rsi60'])
plt.legend(['TDI 60'])
plt.show()
上面的代码用于显示,但除此之外,它只是DF中的关闭代码
如有任何指示或更正,将不胜感激
如果您的数据帧是时间索引的(索引是datetieme),则可以使用时间段作为窗口refer here e、 g:
应用窗口=1H
相关问题 更多 >
编程相关推荐