Obtenga estadísticas para cada grupo (como recuento, media, etc.) usando Pandas GroupBy? {DH}

Respuesta rápida:

La forma más sencilla de obtener el número de filas por grupo es llamar .size()quien a. devoluciones Series:

df.groupby(['col1','col2']).size()

Por lo general, desea este resultado como DataFrame (en lugar de un Series) para que pueda hacer lo siguiente:

df.groupby(['col1', 'col2']).size().reset_index(name="counts")

Si desea saber cómo calcular los recuentos de filas y otras estadísticas para cada grupo, lea a continuación.


Ejemplo detallado:

Considere el siguiente marco de datos de muestra:

In [2]: df
Out[2]: 
  col1 col2  col3  col4  col5  col6
0    A    B  0.20 -0.61 -0.49  1.49
1    A    B -1.53 -1.01 -0.39  1.82
2    A    B -0.44  0.27  0.72  0.11
3    A    B  0.28 -1.32  0.38  0.18
4    C    D  0.12  0.59  0.81  0.66
5    C    D -0.13 -1.65 -1.64  0.50
6    C    D -1.42 -0.11 -0.18 -0.44
7    E    F -0.00  1.42 -0.26  1.17
8    E    F  0.91 -0.47  1.35 -0.34
9    G    H  1.48 -0.63 -1.14  0.17

Primero usamos .size() para obtener el número de líneas:

In [3]: df.groupby(['col1', 'col2']).size()
Out[3]: 
col1  col2
A     B       4
C     D       3
E     F ...

leer mas:
Obtenga estadísticas para cada grupo (como recuento, media, etc.) usando Pandas GroupBy? {DH}

Artículos recomendados

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *