Convert Groupby Result on Pandas Data Frame into a Data Frame using …. to_frame() image 73

Convert Groupby Result on Pandas Data Frame into a Data Frame using …. to_frame()

It is such a small thing. That you can look for in the docs, no Stackoverflow and in many blog articles. After I have used groupby on a Data Frame, instead of getting a Series result, I would like to turn the result into a new Data Frame [to continue my manipulation, querying, visualization etc.]. I feel at home in Data Frames and so do my tools and libraries. It took me a while – and a useful post on StackOverflow – to get things straight.

So here it goes. After my groupby, I use to_frame() to create a new Data Frame based on the result of the groupby operation. I use the parameter name to define the name for the column that holds the result of the aggregation (the mean value in this case)

# resample per quarter, (grouping by) for each weekday
grouper = d.groupby([pd.Grouper(freq='1Q'), 'weekday'])
# create a new data frame with for each Quarter the average daily death index for each day of the week (again, between 0.9 and 1.1) 
d2 = grouper['relative30DayCount'].mean().to_frame(name = 'mean').reset_index()
 

In pictures. First my original data frame:

image

Just applying the groupby with the grouper – in order to aggregate over each Quarter of data grouped by day of the week – gives me a Series object:image

However, by applying to_frame() I get the shiny new Data Frame I was after:

image

 

 

6 Comments

  1. Ghazal November 11, 2021
    • Lucas Jellema November 11, 2021
  2. Phil Clark November 10, 2021
    • Lucas Jellema November 11, 2021
  3. Davis Rogers September 21, 2021
    • Lucas Jellema September 21, 2021