Я пытаюсь, чтобы Python Pandas вычислял значение на основе значения в ячейке в текущей строке и ячейке в предыдущей строке.У меня есть следующий упрощенный кадр данных, в котором я пытаюсь вычислить время между текущим расчетным временем прибытия и временем посадки предыдущего самолета.У меня есть расписание рейсов, которое я конвертирую в формат даты и времени.
import pandas as pd
f = {'Estimated_Arrival_Time': pd.Series(['08:09', '08:39', '08:50']),
'Landing_Time': pd.Series(['08:10', '08:45', '09:10'])}
Flight_df = pd.DataFrame(f)
Flight_df.loc[:,'Estimated_Arrival_Time'] = pd.to_datetime(Flight_df.loc[:,'Estimated_Arrival_Time'],format='%H:%M')
Flight_df.loc[:,'Landing_Time'] = pd.to_datetime(Flight_df.loc[:,'Landing_Time'],format='%H:%M')
Прямо сейчас я решил сравнение, написав цикл for.Тем не менее, мне интересно, если это возможно, чтобы закодировать это без использования цикла for, но с использованием свойств панд и фреймов данных.
for i in xrange(len(Flight_df)):
if i == 0:
Flight_df.loc[i,'Inter_arrival_time'] = pd.Timedelta(0,'s')
else:
Flight_df.loc[i,'Inter_arrival_time'] = Flight_df.at[ i,'Estimated_Arrival_Time'] - Flight_df.at[(i-1),'Landing_Time']