Группировка pandas по заданной формуле c - PullRequest
3 голосов
/ 04 февраля 2020

Пожалуйста, помогите мне, как использовать pandas groupby с некоторым столбцом для суммы и некоторым столбцом для среднего значения, например. У меня есть фрейм данных под названием "market":

product quantity    sell_price  profit
0   bread   2   5   10
1   bread   3   4   12
2   bread   1   3   3
3   milk    3   2   6
4   milk    2   1   2

Воспроизводимый пример:

df = pd.DataFrame({'product': ['bread', 'bread', 'bread', 'milk', 'milk'], 
                   'quantity': [2, 3, 1,3,2],
                  'sell_price': [5,4,3,2,1],
                  'profit': [10,12,3,6,2]})

к такой таблице

[Product][quantity][sell_price][profit]
[bread][6][4][25]
[milk][5][1,5][8]

, где sell_price является средним для каждого продукта , количество это сумма от каждого продукта, а прибыль это сумма от каждого продукта

То, что я уже сделал

market.groupby('product').sum('quantity,'profit').mean('sell_price')

1 Ответ

7 голосов
/ 04 февраля 2020

Использование pandas.DataFrame.groupby.agg:

new_df = df.groupby('Product').agg({'quantity':'sum', 'profit': 'sum', 'sell_price': 'mean'})
print(new_df)

Выход:

         quantity  profit  sell_price
Product                              
bread           6      25         4.0
milk            5       8         1.5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...