Articles of pandas groupby

Groupby en los pandas python: Fast Way

Quiero mejorar el tiempo de un groupby en pandas python. Tengo este codigo df[“Nbcontrats”] = df.groupby([‘Client’, ‘Month’])[‘Contrat’].transform(len) El objective es contar cuántos contratos tiene un cliente en un mes y agregar esta información en una nueva columna ( Nbcontrats ). Client : código de cliente Month : mes de extracción de datos Contrat : número […]

¿Cómo agrupar un dataframe python por filas multinivel?

Tengo el siguiente dataframe multinivel: Year 2016 2017 Quarter 3 4 1 2 Month Sep Oct Nov Dec Jan Feb Mar Apr May Jun A 0.16 0.95 0.92 0.45 0.30 0.35 0.95 0.88 0.18 0.10 B 0.88 0.67 0.07 0.70 0.74 0.33 0.77 0.21 0.81 0.85 C 0.79 0.56 0.13 0.19 0.94 0.23 0.72 0.62 […]

¿Cómo ordenar Pandas DataFrame tanto por MultiIndex como por valor?

Data de muestra: mdf = pd.DataFrame([[1,2,50],[1,2,20], [1,5,10],[2,8,80], [2,5,65],[2,8,10] ], columns=[‘src’,’dst’,’n’]); mdf src dst n 0 1 2 50 1 1 2 20 2 1 5 10 3 2 8 80 4 2 5 65 5 2 8 10 groupby() da un índice múltiple de dos niveles: test = mdf.groupby([‘src’,’dst’])[‘n’].agg([‘sum’,’count’]); test sum count src dst 1 […]

Pandas: traza varias series temporales de DataFrame en una sola plot

Tengo el siguiente dataframe de pandas: time Group blocks 0 1 A 4 1 2 A 7 2 3 A 12 3 4 A 17 4 5 A 21 5 6 A 26 6 7 A 33 7 8 A 39 8 9 A 48 9 10 A 59 …. …. …. 36 35 A […]

¿Cómo reiniciar el cumsum después del cambio en el signo de los valores?

In [46]: d = np.random.randn(10, 1) * 2 In [47]: df = pd.DataFrame(d.astype(int), columns=[‘data’]) Estoy tratando de crear una columna cumsum donde debería restablecerse después de un cambio de signo en la columna de datos, como este data custom_cumsum 0 -2 -2 1 -1 -3 2 1 1 3 -3 -3 4 -1 -4 5 […]

pandas groupby rodando el tiempo desigual

Estoy teniendo algunos problemas con pandas rodando. Aquí una versión simplificada de mi conjunto de datos: df2 = pd.DataFrame({ ‘A’ : pd.Categorical([“test”,”train”,”test”,”train”,’train’,’hello’]), ‘B’ : (pd.Timestamp(‘2013-01-02 00:00:05’), pd.Timestamp(‘2013-01-02 00:00:10’), pd.Timestamp(‘2013-01-02 00:00:09’), pd.Timestamp(‘2013-01-02 00:01:05’), pd.Timestamp(‘2013-01-02 00:01:25’), pd.Timestamp(‘2013-01-02 00:02:05’)), ‘C’ : 1.}).sort_values(‘A’).reset_index(drop=True) >>> df2 ABC 0 hello 2013-01-02 00:02:05 1.0 1 test 2013-01-02 00:00:05 1.0 2 test 2013-01-02 […]

Pandas groupby y sum total del grupo.

Tengo un Pandas DataFrame con razones de reembolso del cliente. Contiene estas filas de datos de ejemplo: **case_type** **claim_type** 1 service service 2 service service 3 chargeback service 4 chargeback local_charges 5 service supplier_service 6 chargeback service 7 chargeback service 8 chargeback service 9 chargeback service 10 chargeback service 11 service service_not_used 12 service service_not_used […]

¿Cómo calcular vwap (precio promedio ponderado por volumen) utilizando groupby y aplicar?

He leído varias publicaciones similares a mi pregunta, pero todavía no puedo entenderlo. Tengo un df pandas que se parece a lo siguiente (durante varios días): Out[1]: price quantity time 2016-06-08 09:00:22 32.30 1960.0 2016-06-08 09:00:22 32.30 142.0 2016-06-08 09:00:22 32.30 3857.0 2016-06-08 09:00:22 32.30 1000.0 2016-06-08 09:00:22 32.35 991.0 2016-06-08 09:00:22 32.30 447.0 … […]

La mejor manera de agregar totales de grupo a un dataframe en Pandas

Tengo una tarea simple que me pregunto si hay una manera mejor / más eficiente de hacerlo. Tengo un dataframe que se ve así: Group Score Count 0 A 5 100 1 A 1 50 2 A 3 5 3 B 1 40 4 B 2 20 5 B 1 60 Y quiero agregar una […]

Iterador de ventana deslizante utilizando rodando en pandas

Si es una sola fila, puedo obtener el iterador como sigue import pandas as pd import numpy as np a = np.zeros((100,40)) X = pd.DataFrame(a) for index, row in X.iterrows(): print index print row Ahora quiero que cada iterador devuelva un subconjunto X[0:9, :] pandas.DataFrame.rolling X[0:9, :] , X[5:14, :] , X[10:19, :] pandas.DataFrame.rolling X[10:19, […]