Red de conocimiento informático - Problemas con los teléfonos móviles - Procesamiento de datos de Python (XXXIX) - groupby (filtrado)

Procesamiento de datos de Python (XXXIX) - groupby (filtrado)

Los métodos de filtro devuelven un subconjunto del objeto original.

Por ejemplo, queremos extraer los elementos de todos los subgrupos cuya suma sea mayor que 3

El parámetro del filtro debe ser una función que tome cada subgrupo como parámetro y devuelva True o Falso

Por ejemplo, para extraer subgrupos con elementos mayores que 2

Alternativamente, puede filtrar los grupos que no cumplen la condición y devolver un objeto similar a un índice. En este objeto, los elementos del grupo que no cumplan la condición se rellenarán con NaN

Para DataFrames con varias columnas, el filtro debe especificar explícitamente una columna como condición de filtro

Al hacerlo agregación o Al realizar la conversión, es posible que desee llamar a un método de instancia en cada agrupación, como

, pero esto puede volverse muy redundante cuando es necesario pasar parámetros adicionales. Simplemente usamos el método asignado al objeto de agrupación

Efectivamente, esto generará un contenedor de función que, cuando se llame, aceptará todos los argumentos pasados ​​y en cada llamada de agrupación.

Este resultado se puede usar junto con agg y transform.

En el ejemplo anterior, agrupamos los datos por año y luego usamos fillna para completar los valores faltantes en cada agrupación.

p>

nlargest y nsmallest se pueden usar para grupos de tipo Serie

Para datos agrupados, podemos usar nlargest y nsmallest. p>

Algunas operaciones sobre datos agrupados pueden no ser adecuadas para la agregación o transformación. O bien, es posible que simplemente desee que GroupBy infiera cómo combinar los resultados

Por ejemplo, podemos usar la función Aplicar

para cambiar las dimensiones de los resultados devueltos

en la serie El uso de aplicar es similar al ejemplo anterior de datos

Supongamos que queremos agrupar los datos por A y calcular la desviación estándar de los datos dentro del grupo. Desviación estándar dentro de los grupos, pero no nos importan los datos de la columna B.

Si agrupamos por A y calculamos la desviación estándar, entonces nuestra función eliminará implícitamente algunas columnas, por lo que

Calcular la desviación estándar directamente no reportará un error

Puede usar variables categóricas para agrupar, y el orden de las agrupaciones será consistente con el orden de las variables categóricas

Puede usar pd para controlar la agrupación. Puedes agrupar columnas específicas por una frecuencia determinada, al igual que con el remuestreo

Puedes agrupar columnas o índices individualmente

Similar a Series y DataFrame, puedes usar head y tail para obtener las filas antes y después de la agrupación

Puedes usar nth() en una Serie o DataFrame para obtener el enésimo elemento en la Serie o DataFrame. Esto también se puede usar para obtener una fila para cada grupo.

Si desea seleccionar elementos que no estén vacíos, puede usar el parámetro de palabra clave dropna. En DataFrame, debe especificar cualquiera o todos (similar a DataFrame.dropna(how='any|all'))

>

Al igual que con otros métodos, puede usar as_index=False para obtener filas antes y después de la agrupación. Cuando se usa as_index=False, el nombre del grupo no se usará como índice

También puede pasar una lista de números enteros para seleccionar varios registros a la vez

Usando el método cumcount, puedes ver el orden en el que aparece cada registro en el grupo

Puedes usar ngroup() para ver el orden de los grupos, que es lo opuesto al orden de cumcount.

Nota: Este orden es el mismo que el orden de agrupación al iterar, no el orden observado por primera vez.