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 […]
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’: […]
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 […]
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 […]
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 […]
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 […]
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 […]
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, […]
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 […]
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: […]