Python 按特定配方分组
请帮助我,如何使用pandas groupby,例如,一些列表示总和,一些列表示平均值。我有一个名为“市场”的数据框架: 可复制示例:Python 按特定配方分组,python,pandas,dataframe,sum,Python,Pandas,Dataframe,Sum,请帮助我,如何使用pandas groupby,例如,一些列表示总和,一些列表示平均值。我有一个名为“市场”的数据框架: 可复制示例: df = pd.DataFrame({'product': ['bread', 'bread', 'bread', 'milk', 'milk'], 'quantity': [2, 3, 1,3,2], 'sell_price': [5,4,3,2,1],
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]
每种产品的平均售价,
数量是每种产品的总和,以及
利润是每种产品的总和
我已经做了什么
market.groupby('product').sum('quantity,'profit').mean('sell_price')
使用:
输出:
quantity profit sell_price
Product
bread 6 25 4.0
milk 5 8 1.5
哇,谢谢你。下一个问题,如果我想添加一个名为“ABC”的列,它的公式是:每组ABC=(数量*售价)(每组数量之和)。我怎么做到的?
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