Pandas Dividir Aplicar Combinar
En este artículo, discutiremos la estrategia combinada de aplicación dividida de Pandas. Esta estrategia es beneficiosa cuando se trabaja con grandes conjuntos de datos, ya que puede ser difícil analizar todos los datos a la vez.
Dividir Aplicar Combinar Estrategia
La estrategia pandas split apply combine es una poderosa técnica de análisis de datos que implica dividir un conjunto de datos en grupos, usar una función para cada grupo y luego combinar los resultados. Esta estrategia puede realizar varias tareas de análisis de datos, como agregar datos, calcular estadísticas y encontrar patrones.
Recuerde los siguientes puntos cuando utilice la estrategia dividir-aplicar-combinar.
- En primer lugar, es esencial elegir una función apropiada para aplicar a los datos.
- En segundo lugar, los resultados del análisis se verán influenciados por la forma en que se agrupan los datos. Por ejemplo, si la información se agrupa por año, los resultados serán diferentes que si los datos se agrupan por país.
Puede ayudarnos a comprender las relaciones entre las variables y a ver patrones que serían difíciles de detectar al observar los datos en su conjunto.
Usar dividir aplicar combinar estrategia
La estrategia de combinación de aplicación dividida se puede utilizar para responder varios tipos de preguntas, que incluyen:
- ¿Cuál es la edad promedio de las personas en cada estado?
- ¿Cuál es el número total de personas en cada estado?
- ¿Cuál es el ingreso promedio de las personas en cada estado?
Primero, tomaremos un conjunto de datos como el siguiente código.
import numpy as np
import pandas as pd
df = pd.DataFrame(
{
"A": ["one", "two", "three", "four", "five", "six", "seven", "eight"],
"B": ["AB", "BC", "CD", "DE", "EF", "FG", "GH", "HI"],
"C": np.random.randn(8),
"D": np.random.randn(8),
}
)
print(df)
Producción :
A B C D
0 one AB -1.178015 -0.718776
1 two BC -0.149049 0.557202
2 three CD -0.486704 1.491223
3 four DE 0.143172 1.669733
4 five EF -0.627370 0.825338
5 six FG 2.105268 -0.239559
6 seven GH 1.203344 0.592531
7 eight HI 1.756920 1.164611
Para usar la estrategia de combinación de aplicación dividida, deberá:
- Divida los datos en grupos.
- Aplicar una función a cada grupo.
- Combine los resultados.
Dividir los datos en grupos
Primero debe dividir sus datos en grupos para usar el método combinado. Puedes hacer esto usando la función groupby
de pandas.
Para dividir los datos en grupos, deberá decidir qué variable agrupar. Esta variable determinará cómo se dividirán los datos en grupos.
grouped = df.groupby(["A", "B"])
Aplicar una función a cada grupo
Una vez que sus datos estén agrupados, puede aplicar una función a cada grupo. Esta puede ser cualquier función que desee, pero debe poder operar en un grupo de datos.
df2 = df.set_index(["A", "B"])
Combinar los resultados
Finalmente, puede combinar los resultados del paso de aplicación en un solo marco de datos
utilizando la función concat
de pandas. Esto le dará un único marco de datos
que contiene los resultados del paso de la aplicación para cada grupo.
Esto se puede hacer de diferentes maneras, dependiendo de la pregunta que esté tratando de responder.
grouped.sum()
Combinemos cada una de las declaraciones anteriores y veamos cómo funciona.
Ejemplo de código:
import numpy as np
import pandas as pd
df = pd.DataFrame(
{
"A": ["one", "two", "three", "four", "five", "six", "seven", "eight"],
"B": ["AB", "BC", "CD", "DE", "EF", "FG", "GH", "HI"],
"C": np.random.randn(8),
"D": np.random.randn(8),
}
)
# split the data
grouped = df.groupby(["A", "B"])
# apply a function to each group
df2 = df.set_index(["A", "B"])
# combine the group
grouded_data = grouped.sum()
print(grouded_data)
Producción :
C D
A B
eight HI -0.398241 -1.145102
five EF 0.439858 -0.923552
four DE -1.150551 -1.466125
one AB 0.882921 0.078129
seven GH -1.750068 -0.568044
six FG -1.335543 0.562349
three CD -0.876180 1.007510
two BC 1.275738 0.136052
Conclusión
La estrategia split apply combine es una de las estrategias más utilizadas en la ciencia de datos. Es una forma flexible y concisa de dividir datos en grupos, aplicar funciones a esos grupos y luego combinar los resultados.
El proceso SAC es una parte clave de la biblioteca de Pandas y los científicos de datos lo utilizan ampliamente. Hay muchos casos de uso de la estrategia combinada de aplicación dividida de pandas. Si quieres saber más, lee el blog y pruébalo.
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedInArtículo relacionado - Pandas DataFrame
- Cómo obtener las cabeceras de columna de Pandas DataFrame como una lista
- Cómo borrar la columna de Pandas DataFrame
- Cómo convertir la columna del DataFrame a Datetime en Pandas
- Cómo convertir un float en un entero en Pandas DataFrame
- Cómo clasificar Pandas DataFrame por los valores de una columna
- Cómo obtener el agregado de Pandas grupo por y suma