Я пишу навык Alexa, чтобы сообщить мне, когда следующие автобусы должны отвезти меня на работу.Я достиг точки, где у меня есть пандас с необходимой информацией.Это выглядит так:
BusStop 1st 2nd 3rd 4th 5th BusLine
10 myStop 20:05 20:16 20:28 20:38 20:52 A
3 myStop 16:07 17:07 18:13 19:12 20:12 E
15 myStop 18:26 18:36 18:46 18:58 19:25 K
Но я хочу преобразовать его, чтобы оно включало только самые ранние времена, чтобы Алекса могла сказать мне: «Автобус приходит через 5 минут, автобус K через 20 минут» или что-тоэтот эффект.
BusStop 1st BusLine
10 myStop 16:07 E
3 myStop 17:07 E
15 myStop 18:13 E
У меня есть способ сделать это, но он кажется довольно неуклюжим и задается вопросом, есть ли лучший способ сделать это.У меня это работает с кодом ниже:
ranked_buses_to_work = pd.DataFrame()
for i in [ '1st','2nd','3rd','4th','5th']:
temp_df = buses_to_work_df[['BusStop', i, 'BusLine']]
temp_df.columns = ['BusStop', 'BusTime', 'BusLine']
ranked_buses_to_work = ranked_buses_to_work.append(temp_df)
ranked_buses_to_work = ranked_buses_to_work .sort_values(by=['BusTime'], inplace=True)
Есть ли лучший способ сделать это?