У меня есть датафрейм со столбцами: дата транзакции, время транзакции и цена. Я хочу отбросить первые и последние 5 минут каждого дня.
Вот пример:
----------------------------------------
Date | Time | Price
----------------------------------------
03/03/2014 | 09:36:36.814 | 43.90
---------------------------------------
03/03/2014 | 09:37:02.381 | 43.40
---------------------------------------
03/03/2014 | 09:41:02.381 | 43.40
---------------------------------------
03/03/2014 | 09:50:02.381 | 43.40
---------------------------------------
Я хочу получить этот вывод:
----------------------------------------
Date | Time | Price
---------------------------------------
03/03/2014 | 09:50:02.381 | 43.40
---------------------------------------
Мне нужно делать это каждый день.
Я попробовал этот код:
trades14081.insert(2,'DateTime',pd.to_datetime(trades14081['Date']+trades14081['Time'], format = "%d/%m/%Y%H:%M:%S.%f" ))
delta=datetime.timedelta(minutes=5)
i=0
j=0
start=[]
end=[]
while trades14081['Date'][i]==trades14081['Date'][j] and j<len(trades14081):
if trades14081['DateTime'][j]-trades14081['DateTime'][i]<delta:
j=j+1
else:
start.append(i)
end.append(j)
j=j+1
while trades14081['Date'][i]==trades14081['Date'][j] and j<len(trades14081):
j=j+1
i=j
for i in range(len(start)):
trades14081=trades14081.drop(trades14081.index[start[i]:end[i]])
Но я продолжаю получать эту ошибку:
KeyError: 19996
> 12 l.append(j)
> 13 j=j+1
> ---> 14 while trades14081['Date'][i]==trades14081['Date'][j]:
> 15 j=j+1
> 16 i=j
19996 - это длина моих сделок с фреймами данных14081.
Есть идеи?