Нахождение минимального значения на основе другого столбца в pandas - PullRequest
1 голос
/ 25 апреля 2020

dataframe df

Мне нужно найти тип канала, который имеет минимальное значение продаж среди всех 3 каналов (отель, кафе или ресторан) из фрейма данных df (снимок прилагается) Таким образом, на выходе будет канал с минимальными продажами. Код, который я пишу ниже:

df1=df.groupby(['Channel']).sum()

df1=df1.sum(axis=1)

print(df1[['Channel']].idxmin())

Но, похоже, это какая-то «ошибка индекса». Мне нужно установить канал в качестве индекса и найти? Или есть другой подход?

Ответы [ 2 ]

0 голосов
/ 25 апреля 2020

Если вы хотите суммировать все столбцы значений, кроме Channel, весь ваш код работает до последней строки. Уточненная версия вашего кода:

df = pd.DataFrame({"val": [1, 2, 3, 4], "Val2": [5, 100, 6, 7], "Channel": ["Hotel", "Cafe", "Restaurant", "Hotel"]})
df.groupby('Channel').sum().sum(axis='columns').idxmin()

Если вы действительно хотите найти idxmin для столбца, удалите .sum(axis='columns')

0 голосов
/ 25 апреля 2020

Измените свою последнюю строку

print(df1.idxmin())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...