У меня есть фрейм данных, который имеет 4 столбца, где первые два столбца состоят из строк (категориальная переменная), а последние два являются числами.
Type Subtype Price Quantity
Car Toyota 10 1
Car Ford 50 2
Fruit Banana 50 20
Fruit Apple 20 5
Fruit Kiwi 30 50
Veggie Pepper 10 20
Veggie Mushroom 20 10
Veggie Onion 20 3
Veggie Beans 10 10
Как сделать так, чтобы кадр данных сортировался в порядке убывания на основе агрегированной суммы Price в столбце Type, а столбец Subtype сортировался также в порядке убывания для столбца Price?Например:
Type Subtype Price Quantity
Fruit Banana 50 20
Kiwi 30 50
Apple 20 5
Car Ford 50 2
Toyota 10 1
Veggie Mushroom 20 10
Onion 20 3
Beans 10 10
Pepper 10 20
Я попробовал следующее, но столбец Подтип не был отсортирован в порядке убывания:
df = df.groupby(['Type','Subtype'])['Price', 'Quantity'].agg({'Price':sum})
i = df.index.get_level_values(0)
df = df.iloc[i.reindex
(df['PRICE'].groupby(level=0,
group_keys=False).sum().sort_values('PRICE', ascending=False).index)[1]]
df.columns = df.columns.get_level_values(1)
Редактировать: в Подтипе есть несколько одинаковых элементов, поэтомуЯ хотел бы, чтобы столбцы типа и подтипа также были сгруппированы.