¿Cómo iterar sobre grupos de marcos de datos en Python-Pandas?

En este artículo, veremos cómo podemos iterar sobre los grupos en los que se divide un marco de datos. Entonces, veamos diferentes formas de hacer esta tarea.

Primero, vamos a crear un marco de datos:

Código:

Python3

# import pandas library
import pandas as pd
  
# dictionary
dict = {'X': ['A', 'B', 'A', 'B'],
        'Y': [1, 4, 3, 2]}
  
# create a dataframe
df = pd.DataFrame(dict)
  
# show the dataframe
df

Producción:

dataframe

Método 1: Usar Dataframe.groupby() .

Esta función se utiliza para dividir los datos en grupos según algunos criterios. 

Ejemplo: simplemente iteramos sobre todos los grupos creados.

Python3

# import pandas library
import pandas as pd
  
# dictionary
dict = {'X': ['A', 'B', 'A', 'B'],
        'Y': [1, 4, 3, 2]}
  
# create a dataframe
df = pd.DataFrame(dict)
  
# group by 'X' column
groups = df.groupby("X")
  
for name, group in groups:
    print(name)
    print(group)
    print("\n")

Producción:

show data group by column x

En el ejemplo anterior, hemos agrupado sobre la base de la columna «X». Como hay dos valores diferentes en la columna «X», nuestro marco de datos se dividirá en 2 grupos. Luego, nuestro ciclo for se ejecutará 2 veces ya que los grupos de números son 2. «nombre» representa el nombre del grupo y «grupo» representa el marco de datos agrupado real.
 

Método 2: usar Dataframe.groupby() y Groupby_object.groups.keys() juntos.

El método Groupby_object.groups.keys() devolverá las claves de los grupos.

Ejemplo: iteraremos sobre las claves.

Python3

# import pandas library
import pandas as pd
  
# dictionary
dict = {'X': ['A', 'B', 'A', 'B'],
        'Y': [1, 4, 3, 2]}
  
# create a dataframe
df = pd.DataFrame(dict)
  
# group by "X" column
groups = df.groupby('X')
  
# extract keys from groups
keys = groups.groups.keys()
  
for i in keys:
    print(groups.get_group(i))
    print('\n')

Producción:

show data group by column x-1

En el ejemplo anterior, usaremos la función groups.get_group() para obtener todos los grupos. Primero obtendremos todas las claves del grupo y luego iteraremos a través de eso y luego llamaremos al método get_group() para cada clave. El método get_group()   devolverá el grupo correspondiente a la clave.

Publicación traducida automáticamente

Artículo escrito por parasmadan15 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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