#python-3.x #pandas
#python-3.x #панды
Вопрос:
Я хочу найти сумму каждого столбца в приведенном ниже фрейме данных и вернуть список наибольших сумм. Я попытался использовать приведенный ниже код, однако он сообщает только максимальное число. Как обновить, чтобы включить метку столбца (или метки, если имеется несколько столбцов, если более одного столбца равно максимальному значению).
grouped = df.sum() mostPurchased = grouped.max() print(grouped)
снежный костюм | Перчатки | пальто | Ботинки | |
---|---|---|---|---|
январь | 1 | 0 | 0 | 0 |
февраль | 1 | 0 | 1 | 0 |
март | 0 | 0 | 0 | 0 |
апрель | 0 | 0 | 1 | 0 |
мочь | 0 | 0 | 1 | 1 |
Июнь | 0 | 0 | 0 | 1 |
Июль | 0 | 1 | 0 | 1 |
Я хочу, чтобы это вернулось:
Пальто 3, Ботинки 3
Комментарии:
1. пожалуйста, добавьте данные, а не фотографии. Также включите ожидаемый выходной кадр данных
2. Вы имеете в виду сумму каждой строки ?
3. @fredaroo Нет, я ищу самую высокую сумму в каждом столбце. Для ясности была добавлена таблица данных.
Ответ №1:
Выберите столбцы, в которых сумма столбцов равна максимальной сумме столбцов:
grouped = df.sum() grouped[grouped == grouped.max()] #coat 3 #boots 3 #dtype: int64
Комментарии:
1. Спасибо за ваш ответ. Это возвращает сумму для всех столбцов и не возвращает только стоимость 3, сапоги 3.
2. Очевидно, что мой пример показывает обратное.