я посмотрел предыдущие посты на эту тему, но ни одна из них не помогла
def trendFinder():
uptrend = pd.DataFrame()
counts = 0
x = 0
for i in range(len(df)):
trendSlot = pd.DataFrame
trendSlot = (df.loc[x+1:x+10])
closeAvg = (sum(trendSlot[:]['Close'])/10)
openAvg = (sum(trendSlot[:]['Open'])/10)
if trendSlot.iloc[-1]['Close'] > closeAvg:
print('close average: ',closeAvg)
print('open average: ',openAvg)
print(trendSlot)
sleep(0.1)
clear_output()
counts +=1
x+=10
print(counts)
, что в основном происходит здесь, так это то, что на каждой итерации создается мини-фрейм данных, имеющий строки / столбцы исходного df
,затем для мини-фрейма данных, если закрытие последней строки больше, чем среднее значение всех закрытий, печатается этот мини-фрейм данных. функция работает некоторое время (я полагаю, до последней итерации), пока что-то не произойдет, что приведет к этой ошибке:
---> 12 if trendSlot.iloc[-1]['Close'] > closeAvg:
...
IndexError: single positional indexer is out-of-bounds