I'm trying to create a function called sales_recap to calculate the minimum, maximum, and average value of a sale.
def sales_recap(sales)
for example, if I have a dataframe as an input like this :
sales = pd.DataFrame({
'Type':['Electronics', 'Electronics', 'Electronics', 'Home_Decor', 'Home_Decor', 'Kids', 'Kids, 'Kids],
'Price':[100,100,70,60,80,50,50,50]})
And if I run the function
sales_recap(sales)
it should give a result like this
recap = pd.DataFrame({
'Type':['Electronics', 'Home_Decor','Kids'],
'Min_Price':[70,60,50],
'Average':[90,70,50],
'Max_Price':[100,80,50]
})
I'm new to python and I still don't have the ideas how to do this with a function so that I can use the function with another inputs. Thank You! :)
CodePudding user response:
Use groupby_agg
:
>>> sales.groupby('Type').agg(Min_Price=('Price', 'min'),
Average=('Price', 'mean'),
Max_Price=('Price', 'max')).reset_index()
Type Min_Price Average Max_Price
0 Electronics 70 90.0 100
1 Home_Decor 60 70.0 80
2 Kids 50 50.0 50