I need to do an aggregate (at least that what you would call it in R) over the mtcars data set that I have uploaded into python. The end goal is to get the average mpg for each value of cyl in the data set (There are three values for cyl, 4,6,8). Here is the R code for what I want to do
mean_each_gear <- aggregate(mtcars$mpg ~ mtcars$cyl, FUN = mean)
output:
cyl mpg
1 4 26.66364
2 6 19.74286
3 8 15.10000
The closest I've come with in Pandas is this
mtcars.agg(['mean'])
I'm not sure how I would do that in Pandas. Any help would be appreciated!
Answer
You want pandas groupby()!
import pandas as pd
my_dataframe = pd.read_csv('my_input_data.csv') //insert your data here
pd.groupby(['col1'])['col2'].mean()
where 'col1' is the column you want to group by and 'col2' is the column whose mean you want to obtain. Also see here:
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.groupby.html
No comments:
Post a Comment