Pandas Dividir Aplicar Combinar

Zeeshan Afridi 21 junio 2023
  1. Dividir Aplicar Combinar Estrategia
  2. Usar dividir aplicar combinar estrategia
  3. Conclusión
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.

  1. En primer lugar, es esencial elegir una función apropiada para aplicar a los datos.
  2. 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:

  1. ¿Cuál es la edad promedio de las personas en cada estado?
  2. ¿Cuál es el número total de personas en cada estado?
  3. ¿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á:

  1. Divida los datos en grupos.
  2. Aplicar una función a cada grupo.
  3. 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 Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

Artículo relacionado - Pandas DataFrame