Articles of pandas groupby

Pandas `agg` a la lista,” AttributeError / ValueError: la función no se reduce “

A menudo, cuando realizamos operaciones groupby usando pandas, es posible que deseamos aplicar varias funciones en varias series. groupby.agg parece la forma natural de realizar estas agrupaciones y cálculos. Sin embargo, parece existir una discrepancia entre cómo se implementan groupby.agg y groupby.apply , porque no puedo agrupar a una lista usando agg . Tuple y […]

pandas: GroupBy .pipe () vs .apply ()

En el ejemplo de la documentación de pandas sobre el nuevo método .pipe() para objetos GroupBy, un método .apply() que acepte la misma lambda devolverá los mismos resultados. In [195]: import numpy as np In [196]: n = 1000 In [197]: df = pd.DataFrame({‘Store’: np.random.choice([‘Store_1’, ‘Store_2’], n), …..: ‘Product’: np.random.choice([‘Product_1’, ‘Product_2’, ‘Product_3’], n), …..: ‘Revenue’: […]

Dividir un dataframe en múltiples marcos de datos de 5 segundos en Python

Tengo un conjunto de datos relativamente grande que quiero dividir en múltiples marcos de datos en Python basado en una columna que contiene un objeto de fecha y hora. Los valores en la columna (por los que quiero dividir el dataframe) se dan en el siguiente formato: 2015-11-01 00:00:05 Puedes asumir que el dataframe se […]

cómo calcular la sum | media | mediana para la cola de cada grupo cuando se agregan datos de pandas en python

Tengo datos como el siguiente. que está en formato de dataframe pandas. ABCDEFG 1 1 2 3 1 4 2 1 1 2 4 5 6 7 1 1 2 3 2 3 2 1 1 2 4 5 6 7 2 1 2 3 2 3 4 2 1 2 3 4 3 3 […]

Agrupando días impares y pares.

Tengo un dataframe de pandas como el siguiente data Out[8]: value1 Date 2015-03-31 09:53:53.800 NaN 2015-03-31 10:28:54.700 1.34 2015-03-31 10:34:35.720 NaN 2015-03-31 10:36:53.540 1.26 2015-04-01 11:37:11.620 1.44 2015-04-01 11:39:30.520 NaN 2015-04-01 11:50:25.620 1.76 2015-04-02 11:50:30.620 1.38 2015-04-02 12:31:20.220 1.76 2015-04-02 12:37:43.940 2.36 2015-04-03 12:38:45.820 1.46 2015-04-03 12:41:56.680 2.26 2015-04-04 13:04:50.740 1.16 2015-04-05 12:38:45.820 1.46 2015-04-05 […]

imprimiendo el top 2 de los valores frecuentes de la columna de destino

Tengo tres columnas como las que se muestran a continuación, y trato de devolver el conteo más alto de top1 y top2 de la tercera columna. Quiero que esta salida se genere como se muestra en la salida esperada . DATOS: imprimir (df) AGE GENDER rating 0 10 M PG 1 10 MR 2 10 […]

valores de grupo en intervalos

Tengo una serie de pandas que contiene ceros y unos: df1 = pd.Series([ 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0]) df1 Out[3]: 0 0 1 0 2 0 3 0 4 0 5 1 6 1 7 1 8 0 9 0 10 0 Me gustaría crear un df2 de datos […]

df.groupby (…) .agg (conjunto) produce resultados diferentes en comparación con df.groupby (…) .agg (lambda x: conjunto (x))

Respondiendo a esta pregunta resultó que df.groupby(…).agg(set) y df.groupby(…).agg(lambda x: set(x)) están produciendo resultados diferentes. Datos: df = pd.DataFrame({ ‘user_id’: [1, 2, 3, 4, 1, 2, 3], ‘class_type’: [‘Krav Maga’, ‘Yoga’, ‘Ju-jitsu’, ‘Krav Maga’, ‘Ju-jitsu’,’Krav Maga’, ‘Karate’], ‘instructor’: [‘Bob’, ‘Alice’,’Bob’, ‘Alice’,’Alice’, ‘Alice’,’Bob’]}) Manifestación: In [36]: df.groupby(‘user_id’).agg(lambda x: set(x)) Out[36]: class_type instructor user_id 1 {Krav Maga, […]

pandas: cómo organizar el dataframe según la fecha y asignar nuevos valores a la columna

Tengo un período de datos de un mes, excepto sábado y domingo, que se registra cada 1 minuto. v1 v2 2017-04-03 09:15:00 35.7 35.4 2017-04-03 09:16:00 28.7 28.5 … … … 2017-04-03 16:29:00 81.7 81.5 2017-04-03 16:30:00 82.7 82.6 … … … 2017-04-04 09:15:00 24.3 24.2 2017-04-04 09:16:00 25.6 25.5 … … … 2017-04-04 16:29:00 […]

pandas groupby aplicar en múltiples columnas para generar una nueva columna

Me gusta generar una nueva columna en el dataframe de pandas usando groupby-apply. Por ejemplo, tengo un dataframe: df = pd.DataFrame({‘A’:[1,2,3,4],’B’:[‘A’,’B’,’A’,’B’],’C’:[0,0,1,1]}) e intente generar una nueva columna ‘D’ por groupby-apply. Esto funciona: df = df.assign(D=df.groupby(‘B’).C.apply(lambda x: x – x.mean())) como (creo) devuelve una serie con el mismo índice con el dataframe: In [4]: df.groupby(‘B’).C.apply(lambda x: […]