Учитывая DataFrame df
, который выглядит примерно так:
TripID time Latitude SectorID sector_leave_time
0 42 7 52.5 5 8
1 42 8 52.6 5 8
2 42 9 52.7 6 10
3 42 10 52.8 6 10
4 5 9 50.1 2 10
5 5 10 50.0 2 10
6 5 11 49.9 1 12
7 5 12 49.8 1 12
Я уже вычислил время, когда поездка покидает сектор, получив максимальную временную метку внутри сектора.Теперь я хотел бы добавить еще один столбец для широты в точке sector_leave_time для каждой поездки и сектора, поэтому DataFrame становится следующим:
TripID time Latitude SectorID sector_leave_time sector_leave_lat
0 42 7 52.5 5 8 52.6
1 42 8 52.6 5 8 52.6
2 42 9 52.7 6 10 52.8
3 42 10 52.8 6 10 52.8
4 5 9 50.1 2 10 50.0
5 5 10 50.0 2 10 50.0
6 5 11 49.9 1 12 49.8
7 5 12 49.8 1 12 49.8
Пока что мне удалось добавить только sector_leave_lat
до строки, где time == sector_leave_time
, т.е. когда поездка покидает сектор, используя следующую строку кода:
df['sector_leave_lat'] = df.groupby('TripID').apply(lambda x : x.loc[x['time'] == x['sector_leave_time'], 'Latitude']).reset_index().set_index('level_1')['Latitude']
Я знаю, что эта строка выглядит ужасно, и я хотел бы добавить sector_leave_lat
квсе записи этой поездки в этом секторе.У меня заканчиваются идеи, поэтому я надеюсь, что кто-то сможет помочь.