Как суммировать по столбцам после pandas groupby?

#python #pandas #dataframe

#python #pandas #фрейм данных

Вопрос:

Я использую groupby() операцию для фрейма данных pandas. Затем я пытаюсь суммировать столбцы вместе для каждой строки. Однако я продолжаю получать сообщение об ошибке при вызове sum() .

Я приложил свой код ниже:

 bike_use = bike_use.groupby(['road_name', 'count_point_id'])['pedal_cycles', 'two_wheeled_motor_vehicles'].sum(axis = 1)
 

И ошибка, которую я получаю,:

 TypeError: sum() got an unexpected keyword argument 'axis'
 

Несмотря на то, что документация для суммирования и pandas dataframe и pandas series, here и here оба допускают ключевое axis слово .

Я не знаю, почему он выдает эту ошибку, хотя функции позволяют ему использовать this в качестве ключевого слова?

Ответ №1:

Я думаю, вы хотите дважды sum сначала агрегировать по sum by GroupBy.sum , а затем суммировать оба столбца с sum(axis=1) помощью by DataFrame.sum :

 bike_use = bike_use.groupby(['road_name', 'count_point_id'])['pedal_cycles', 'two_wheeled_motor_vehicles'].sum().sum(axis = 1)
 

Но если нужно суммировать 2 столбца без groupby:

 bike_use['both'] = bike_use[['pedal_cycles', 'two_wheeled_motor_vehicles']].sum(axis = 1)