Los pandas aplican la función a cada fila

Los pandas aplican la función a cada fila
Pandas proporciona muchas funciones que facilitan analizar y manipular los datos. Utilizamos esas funciones para hacer que nuestras tareas sean más fáciles y rápidas. Aplicamos las funciones a las filas y columnas. Para aplicar la función a cada fila en un marco de datos "pandas" especificado, utilizamos el método Apply (). Cuando necesitamos invocar cualquier función para actualizar cada fila en un marco de datos "Pandas", utilizamos la función "Aplicar ()". Debe establecer la variable Axis = 1 para poner una función en cada fila () en el marco de datos "pandas". Utilizamos la función "Aplicar ()" en "Pandas" en esta guía con cuatro métodos únicos utilizando series, funciones personalizadas, expresiones Numpy y Lambda.

Sintaxis:

DataFrame_Object.Aplicar (func, axis = 0, raw = false, result_type = none, args = (), ** kwargs)

Parámetros:

  1. FUNC: Una función personalizada/incorporada que se puede aplicar en las filas/columnas.
  2. eje: columnas (1), índice (0)
  3. Skipna: Ignorar los valores de NA/NULL al calcular el resultado.
  4. resultado_type: Tipo devuelto del resultado como serie, DataFrame, etc.
  5. Args: Especificar los argumentos.

Método 1: Aplicar () con función personalizada

Para realizar alguna operación en todas las filas en el marco de datos de Pandas, necesitamos escribir una función que haga el cálculo y pasará el nombre de la función dentro del método Aplicar (). Por esto, la función se aplica a cada fila.

pandas.DataFrame_Object.Aplicar (Custom_Function)

Ejemplo:
En este ejemplo, tenemos un marco de datos llamado "análisis" con 4 columnas de tipo entero. Ahora escribimos dos funciones personalizadas en estas 4 columnas.

  1. El "Operation1" agrega filas en todas las columnas. El resultado en cada columna se almacena en la columna "Resultado de suma".
  2. La "Operación2" multiplica las filas en todas las columnas. El resultado en cada columna se almacena en la columna "Resultado de multiplicación".
importación de pandas
# Crear el marco de datos utilizando listas
Análisis = pandas.DataFrame ([[23,1000,34,56],
[23,700,11,0],
[23,20,4,2],
[21,400,32,45],
[21,100,456,78],
[23,800,90,12],
[21,400,32,45],
[20,120,1,67],
[23,100,90,12],
[22,450,76,56],
[22,40,0,1],
[22,12,45,0]
], columnas = ['puntos1', 'puntos2', 'puntos3', 'puntos4'])
# Muestra DataFrame - Análisis
Impresión (análisis)
# Función que agrega cada fila para todas las columnas.
Def Operation1 (fila):
Fila de retorno [0]+fila [1]+fila [2]+fila [3]
# Función que agrega cada fila para todas las columnas.
Def Operation2 (fila):
Fila de retorno [0]*fila [1]*fila [2]*fila [3]
# Pase la función al método Aplicar () y guárdelo en la columna 'Resultado adicional'
Análisis ['Resultado de suma'] = Análisis.Aplicar (Operación1, eje = 1)
# Pase la función al método Aplicar () y guárdela en la columna 'Resultado de multiplicación'
Análisis ['resultado de multiplicación'] = análisis.Aplicar (Operación2, eje = 1)
imprimir()
Impresión (análisis)

Producción:

Explicación:
Pasamos el "Operation1" y "Operation2" a la función Aplicar () por separado uno tras otro. Puede ver que la suma de todos los valores en cada fila se almacena en la columna "Resultado de suma" y el producto de todos los valores en cada fila se almacena en la columna "Resultado de multiplicación".

Método 2: aplicar () con expresión de lambda

Aquí, pasamos el Lambda como parámetro a la función Aplicar () y hacemos el cálculo dentro de sí mismo.

pandas.DataFrame_Object.Aplicar (Lambda X: Computation, eje = 1)

Ejemplo:
Agregamos y multipliquemos cuatro filas como el ejemplo anterior y las almacenemos en dos columnas.

importación de pandas
# Crear el marco de datos utilizando listas
Análisis = pandas.DataFrame ([[23,1000,34,56],
[23,700,11,0],
[23,20,4,2],
[21,400,32,45],
[21,100,456,78],
[23,800,90,12],
[21,400,32,45],
[20,120,1,67],
[23,100,90,12],
[22,450,76,56],
[22,40,0,1],
[22,12,45,0]
], columnas = ['puntos1', 'puntos2', 'puntos3', 'puntos4'])
# Agregue todas las filas y guárdelas en la columna 'Adición de resultado'.
Análisis ['Resultado de suma'] = Análisis.Aplicar (Registro Lambda: Registro [0]+Registro [1]+Registro [2]+Registro [3], Axis = 1)
# Multiplica todas las filas y guárdelas en la columna 'Resultado de multiplicación'.
Análisis ['resultado de multiplicación'] = análisis.Aplicar (Registro Lambda: Registro [0]*Registro [1]*Registro [2]*Registro [3], axis = 1)
imprimir()
Impresión (análisis)

Producción:

Explicación:
Las expresiones que se utilizan son las siguientes:

# Agregue todas las filas y guárdelas en la columna 'Adición de resultado'.
Análisis ['Resultado de suma'] = Análisis.Aplicar (Registro Lambda: Registro [0]+Registro [1]+Registro [2]+Registro [3], Axis = 1)
# Multiplica todas las filas y guárdelas en la columna 'Resultado de multiplicación'.
Análisis ['resultado de multiplicación'] = análisis.Aplicar (Registro Lambda: Registro [0]*Registro [1]*Registro [2]*Registro [3], axis = 1)

Puede ver que la suma de todos los valores en cada fila se almacena en la columna "Resultado de suma" y el producto de todos los valores en cada fila se almacena en la columna "Resultado de multiplicación".

Método 3: Aplicar () con pandas.Serie

Si desea modificar la fila por separado o desea actualizar todas las filas individualmente, puede hacerlo pasando la serie dentro de la expresión de Lambda.

pandas.DataFrame_Object.Aplicar (Lambda X: Pandas.Serie (computación), eje = 1)

Ejemplo:
Restar 10 de todas las columnas.

importación de pandas
# Crear el marco de datos utilizando listas
Análisis = pandas.DataFrame ([[23,1000,34,56],
[23,700,11,0],
[23,20,4,2],
[21,400,32,45],
[21,100,456,78],
[23,800,90,12],
[21,400,32,45],
[20,120,1,67],
[23,100,90,12],
[22,450,76,56],
[22,40,0,1],
[22,12,45,0]
], columnas = ['puntos1', 'puntos2', 'puntos3', 'puntos4'])
# Resta 10 de todas las filas
análisis = análisis.Aplicar (récord de lambda: pandas.Serie ([registro [0] -10, registro [1] -10, registro [2] -10, registro [3] -10]), eje = 1)
Impresión (análisis)

Producción:

Explicación:
Las expresiones que se utilizan son las siguientes:

análisis = análisis.Aplicar (récord de lambda: pandas.Serie ([registro [0] -10, registro [1] -10, registro [2] -10, registro [3] -10]), eje = 1)

Puede ver que los valores en todas las columnas se restan de 10.

Método 4: Aplicar () con funciones numpy

Usemos las funciones Numpy para realizar el cálculo en todas las filas en Pandas DataFrame.

pandas.DataFrame_Object.Aplicar (función numpy, eje = 1)

Ejemplo:
Usemos la función Numpy para devolver lo siguiente:

  1. La suma de todas las filas usando numpy.suma().
  2. El promedio de todas las filas usando numpy.significar().
  3. El máximo entre cada fila usando numpy.max ().
  4. El mínimo entre cada fila usando numpy.min ().

Almacenamos el resultado en cuatro columnas diferentes.

importación de pandas
importar numpy
# Crear el marco de datos utilizando listas
Análisis = pandas.DataFrame ([[23,1000,34,56],
[23,700,11,0],
[23,20,4,2],
[21,400,32,45],
[21,100,456,78],
[23,800,90,12],
[21,400,32,45],
[20,120,1,67],
[23,100,90,12],
[22,450,76,56],
[22,40,0,1],
[22,12,45,0]
], columnas = ['puntos1', 'puntos2', 'puntos3', 'puntos4'])
# Obtener una suma total de filas y almacenar en 'Resultado de suma'
Análisis ['Resultado de suma'] = Análisis.Aplicar (Numpy.suma, eje = 1)
# Obtener un promedio de filas y almacenar en 'Resultado de suma'
Análisis ['resultado promedio'] = análisis.Aplicar (Numpy.media, eje = 1)
# Obtener un valor máximo de cada fila y almacenar en 'Resultado máximo'
Análisis ['resultado máximo'] = análisis.Aplicar (Numpy.máx, eje = 1)
# Obtenga un valor mínimo de cada fila y almacene en 'Min Resultado'
Análisis ['Min resultado'] = Análisis.Aplicar (Numpy.min, eje = 1)
Impresión (análisis)

Producción:

Conclusión

Proporcionamos esta guía para explicar cómo utilizar la función Aplicar () en cada fila. Nuestro objetivo principal es proporcionarle una explicación buena, fácil y detallada de este concepto de función "Aplicar ()". Demostramos cuatro ejemplos distintos en los que mostramos cómo aplicar la función a cada fila en "pandas" con la ayuda de la función "aplicar ()". Explicamos que cuando queremos implementar cualquier función en cada fila en DataFrame en Pandas, utilizamos la función "Aplicar ()" para este propósito.