Выберите значение конкретной строки при groupby в python

#python #dataframe #group-by

#python #dataframe #группировка по

Вопрос:

Я хочу сгруппировать несколько столбцов на основе определенного столбца в python. При этом для определенного столбца я хочу, чтобы значение длилось всего одно значение row’th. Если бы я хотел то же самое для всех столбцов, я бы использовал n-й метод. но я хочу это для определенного столбца, и я не смог найти решение в Интернете. Как я могу это сделать?

 Aggregated_Halt = df.groupby('Group_Halt').agg({'Date_Time': [**last but one row**], 'Latitude': ['last'],'Longitude': ['last'], 'Time_diff':'sum', 'LocationAddress': 'last'})
 

Здесь я хочу, чтобы столбец datetime имел предпоследнее значение строки.

Комментарии:

1. Было бы лучше, если бы вы могли поделиться образцом входного фрейма данных с ожидаемым результатом.

Ответ №1:

Попробуйте это:

 Aggregated_Halt = df.groupby('Group_Halt').agg({'Date_Time': lambda x: x[-2], 'Latitude': ['last'],'Longitude': ['last'], 'Time_diff':'sum', 'LocationAddress': 'last'})