Grupo PandasPor

| | | | | | | | | | | | | | | | | | | | | |

Grupo — concepto bastante simple. Podemos crear un grupo de categorías y aplicar la función a las categorías. Es un concepto simple, pero es una técnica extremadamente valiosa que se usa ampliamente en data ciencia. En los proyectos de ciencia de datos del mundo real, se enfrentará a grandes cantidades de datos y tratando de hacer las cosas repetidamente, por lo que para mayor eficiencia usamos el concepto Groupby. El concepto de Groupby es realmente importante porque es capaz de combinar datos de manera eficiente, tanto en términos de rendimiento como de cantidad de código. La agrupación se refiere principalmente a un proceso que implica uno o más de los siguientes pasos:

  • Separación: es un proceso en el que dividimos los datos en grupos aplicando algunas condiciones a los conjuntos de datos. .
  • Aplicación: es un proceso en el que aplicamos una función a cada grupo de forma independiente
  • Consolidación: es un proceso en el que combinamos diferentes conjuntos de datos después de aplicar la agrupación y los resultados en una estructura de datos

La siguiente imagen lo ayudará a comprender el proceso involucrado en el concepto Groupby.
1. Agrupa los valores únicos ‚Äã‚Äãde la columna "Equipo".

2. Ahora hay un cubo para cada grupo

3. Arroje otros datos en cubos

4. Aplique la función a la columna de peso de cada cubo.

Dividir datos en grupos

Dividir — es un proceso en el que dividimos los datos en grupos aplicando algunas condiciones a los conjuntos de datos. Para separar los datos, aplicamos ciertas condiciones a los conjuntos de datos. Para separar datos, usamos groupby () esta función se usa para dividir datos en grupos según algunos criterios . Los objetos de Pandas se pueden subdividir en cualquiera de sus ejes. Una definición abstracta de agrupación es proporcionar una asignación de etiquetas a nombres de grupos. Los conjuntos de datos de Pandas se pueden dividir en cualquier objeto. Hay varias formas de dividir datos, por ejemplo:

Nota: aquí nos referimos a agrupar objetos como claves.
Agrupar datos con una clave:
Para agrupar datos con una clave, solo pasamos una clave como argumento al función groupby .

# importar módulo pandas

import pandas as pd


# Definir un diccionario que contenga datos de empleados

datos1 = { `Nombre` : [ `Jai` , `Anuj` , ` Jai` , ` Princi` ,

` Gaurav` , `Anuj` , `Princi` , `Abhi` < código clase ="simple ">],

` Edad` : [ 27 , 24 , 22 , 32 < /código> ,

33 , < clase de código = "valor"> 36 , 27 , 32 ],

`Dirección` : [ ` Nagpur` , `Kanpur ` , `Allahabad` , `Kannuaj` ‚Äã‚Äã ,

` Jaunpur` , `Kanpur` , `Allahabad` , ` Aligarh` ],

`Calificación` : [< /código> `Msc` , ` MA` , `MCA` , ` Phd` ,

`B.Tech` , ` B.com` , `Msc` , ` MA` ]}


< br> # Convertir diccionario a DataFrame

df = pd.DataFrame (datos1)

imprimir (df)

< br>Ahora agrupamos los datos Name usando la función groupby () .


# usando la función groupby
# con una clave

df.groupby ( `Name` )

imprimir (df.groupby< /a> ( `Nombre` ). grupos)

Salida:

Ahora imprimimos los primeros registros en todos los grupos formados .


# aplicar el Función groupby () para
# agrupar datos por valor de nombre

gk = df.groupby ( `Name` )


# Imprime las primeras entradas
# en todos los grupos generados.
gk.first ()

Salida:

Agrupación de datos con varias claves:
Para agrupar datos con varias claves, transmitimos varias claves en groupby Función .


# importar módulo pandas

import pandas as pd


# Definir un diccionario que contenga datos de empleados

datos1 = { `Nombre` : [ `Jai` , ` Anuj` , `Jai` , ` Princi` ,

`Gaurav` , ` Anuj` , `Princi` , < clase de código ="cadena ">` Abhi` ],

`Edad` : [ 27 , 24 < /código> , 22 , 32 ,

33 , 36 , 27 , 32 ],

`Dirección` : [ ` Nagpur` , `Kanpur` , ` Allahabad` , `Kannuaj` ‚Äã‚Äã ,

`Jaunpur` < clase de código ="simple ">, `Kanpur` , ` Allahabad ` , `Aligarh` ],

`Calificación` : [ `Msc` , ` MA` , ` MCA` , ` Phd` ,

`B.Tech` , `B.com` , ` Msc` , `MA` ]}



# Convertir diccionario en DataFrame

df = pd. DataFrame (data1)


print (df)


Ahora agruparemos los datos de Nombre y Calificación usando múltiples claves en el trabajo de la función groupby .



Ahora estamos aplicando groupby () sin clasificación



# usando la función groupby
# sin usar la ordenación


df.groupby ([ `Nombre` ]). suma ()

Salida:

Ahora usamos groupby () usando sort para lograr una posible aceleración.


# Uso de varias claves en
# groupby () función

df.groupby ([ ` Name` < clase de código = "simple">, `Calificación` ])


print (df.groupby ([ `Nombre` , ` Calificación` ]). grupos)

Salida:

Agrupación de datos por clasificación de clave:
Las claves de grupo se clasifican de forma predeterminada durante la operación masiva. El usuario puede pasar sort = False para posibles aceleraciones.


# pandas module import

importar pandas como pd


# Definir un diccionario que contenga datos de empleados

data1 = { `Nombre` : [ `Jai` , ` Anuj` , `Jai` , ` Princi` ,

`Gaurav` , `Anuj` , ` Princi` , < /código> `Abhi` ],

`Edad` : [ 27 , 24 , 22 , 32 ,

33 , 36 , 27 , 32 ],}



# Convertir diccionario a DataFrame

< código clase = "simple"> df = pd.DataFrame (datos1)


imprimir (df)

# usando el groupby function
# ordenados


df .groupby ([ `Name` ], sort = False ). suma ( )

Salida:

Agrupación de datos con atributos de objeto:
El atributo de grupos es similar a un diccionario, cuyas claves son grupos únicos calculados, y los valores correspondientes ‚Äã‚Äãson las etiquetas de los ejes, pertenecen a cada grupo.


# importar módulo pandas

importar pandas como pd


# Definir un diccionario que contenga datos de empleados

data1 = { `Nombre` : [ ` Jai` , `Anuj` , ` Jai ` , ` Princi` < /código> ,

`Gaurav` , ` Anuj` , `Princi` , ` Abhi` ],

`Edad` : [ 27 , 24 , 22 , 32 ,

33 , 36 , 27 , 32 ],

< código clase = "cadena"> `Dirección` : [ ` Nagpur` , ` Kanpur` , `Allahabad` < clase de código ="simple ">, ` Kannuaj` ‚Äã‚Äã ,

`Jaunpur` , `Kanpur` , ` Allahabad` , `Aligarh` ],

` Calificación` < clase de código = "simple">: [ `Msc` , < clase de código = "cadena"> `MA` , `MCA` , ` Phd` ,

`B .Tech` , `B.com` , ` Msc` , `MA` ]}



# Convertir diccionario a DataFrame

df = pd.DataFrame (data1)


< código clase = "funciones"> imprimir (df)


Ahora agrupamos los datos como lo hacemos en un diccionario usando claves.

# usando claves de agrupación
# datos


df.groupby ( ` Name` ). grupos

Salida:

Iterando sobre los grupos

Para iterar sobre el elemento de grupos, podemos iterar sobre un objeto similar a iterto.ols .


# pandas module import

importar pandas como pd


# Definir el diccionario que contiene los datos sobre los empleados

data1 = { `Nombre` : [ ` Jai` , ` Anuj` , `Jai` , `Princi` ,

< clase de código = "cadena"> `Gaurav` , ` Anuj ` , ` Princi` , `Abhi` ],

` Age` : [ 27 , 24 , 22 , 32 ,

33 , 36 , 27 , 32 ],

` Dirección` : [ ` Nagpur` , `Kanpur` , `Allahabad` , `Kannuaj` ‚Äã‚Äã ,

` Jaunpur ` , ` Kanpur` , `Allahabad` , ` Aligarh` ],

`Calificación` : [ `Msc` , `MA` , ` MCA` , `Phd` ,

`B.Tech` , ` B.com` , `Msc` , ` MA ` ]}


# Convertir diccionario a DataFrame

df = pd.DataFrame (data1)

print < /código> (df)


Ahora repetimos el elemento de grupo tal como lo hacemos en itertools.obj.


# repetición de elementos
Grupo #


grp = df.groupby ( `Nombre` )

para nombre, grupo en grp:

imprimir (nombre)

imprimir (grupo)

print ()

Salida:

Ahora iteramos sobre un elemento de grupo que contiene varias claves


# elemento repetir
# del grupo que contiene
# claves múltiples


grp < /código> = df.groupby ([ `Nombre` , ` Calificación` ])

para nombre, grupo en grp:

print (nombre)

imprimir (grupo)

imprimir ( )

Salida:
Como se muestra en la salida, el nombre del grupo será una tupla

Selección de grupo

Para seleccionar un grupo, podemos seleccionar un grupo usando GroupBy.get_group(). Podemos seleccionar un grupo aplicando la función GroupBy.get_group esta función seleccionará un grupo.


# pandas importar módulo

importar pandas como pd


# Definir un diccionario que contenga datos de empleados

data1 = < /código> { `Nombre` : [ `Jai` , ` Anuj` , `Jai` , ` Princi` ,

`Gaurav` , `Anuj` , ` Princi` , `Abhi` ],

imprimir (nombre)

imprimir (grupo)

imprimir ()

Salida:
Como se muestra en la salida, el nombre del grupo será una tupla

Selección de grupo

Para seleccionar un grupo, podemos seleccionar un grupo usando GroupBy.get_group () . Podemos seleccionar un grupo aplicando la función GroupBy.get_group esta función seleccionará u