Pandas grupo por valores cuantiles

Intenté calcular valores de cuantiles específicos a partir de un dataframe, como se muestra en el código a continuación. No hubo problema al calcularlo en líneas separadas.

Al intentar ejecutar las últimas 2 líneas, recibí un error “AttributeError: ‘SeriesGroupBy’ el objeto no tiene ningún atributo ‘cuantil (0.25)'”. ¿Cómo puedo arreglar esto?

import pandas as pd raw_data = {'x': [0, 1, 0, 1, 0, 1, 0, 1], 'y': [7, 6, 5, 4, 3, 2, 1, 0], 'number': [25000, 35000, 45000, 50000, 60000, 70000, 65000, 36000]} df = pd.DataFrame(raw_data) f = {'number': ['median', 'std', 'quantile']} df1 = df.groupby('x').agg(f) df.groupby('x').quantile(0.25) df.groupby('x').quantile(0.75) #code below with problem: f = {'number': ['median', 'std', 'quantile(0.25)', 'quantile(0.75)']} df1 = df.groupby('x').agg(f) 

Prefiero las funciones def

 def q1(x): return x.quantile(0.25) def q2(x): return x.quantile(0.75) f = {'number': ['median', 'std', q1,q2]} df1 = df.groupby('x').agg(f) df1 Out[1643]: number median std q1 q2 x 0 52500 17969.882211 40000 61250 1 43000 16337.584481 35750 55000