Pandas crea columna basada en la condición

Pandas crea columna basada en la condición
Python es el lenguaje de codificación más utilizado en el campo de la ciencia de datos. Un factor para su prominencia son muchas bibliotecas de Python para el análisis de datos. Estas bibliotecas proporcionan técnicas para ejecutar operaciones de datos que son rápidas, modulares y eficientes. Pandas y Numpy son dos módulos de Python conocidos para el análisis de datos y la manipulación.

Generar nuevas columnas a partir de columnas preexistentes en un conjunto de datos es una operación común en la etapa de preprocesamiento de datos. También es un aspecto importante de la ingeniería de características. En algunas circunstancias, se construyen nuevas columnas en respuesta a las condiciones en las columnas existentes. Pandas y Numpy proporcionan una variedad de opciones para esta tarea.

En esta publicación, analizaremos diferentes enfoques para construir una nueva columna dependiendo de las condiciones de las columnas existentes.

Métodos para crear una columna basada en condiciones en pandas

Las técnicas PANDAS que vamos a usar en este artículo se dan a continuación:

  • Técnica de comprensión de la lista
  • Marco de datos.Aplicar () función
  • Marco de datos.función map ()

En esta lección, utilizaremos estos métodos y explicaremos cómo implementar las tres formas en los pandas.

Ejemplo 01: utilizando la técnica de comprensión de la lista

El primer enfoque que estamos utilizando aquí para crear una columna basada en la condición de las columnas existentes es la "comprensión de la lista". Aprenderemos este método con un ejemplo práctico. Comencemos el código.

Utilizamos la herramienta "Spyder" para la implementación y ejecución de los códigos de ejemplo de Python en este artículo. Abrimos un nuevo archivo de Python en "Spyder" para comenzar a escribir nuestro script de Python. Nuestro código comienza con la importación de la biblioteca requerida, "Pandas como PD" aquí. Luego, creamos un marco de datos utilizando el "PD.Función DataFrame () ". Inicializamos este marco de datos con dos columnas "nombre" y la "edad".

La columna "Nombre" almacena cinco nombres que son "Elsa", "Emma", "Alaxandar", "Ron" y "Sasha". Mientras que la columna de "edad" almacena la misma longitud de los valores enteros que son "28", "19", "26", "19" y "31". Luego almacenamos este marco de datos en un objeto DataFrame que creamos "información". Se puede acceder a esta marca de datos mediante el objeto "Información". En la última línea, se invoca el método "print ()" para mostrar el marco de datos recién creado.

Para la ejecución del código anterior, presione el botón "Ejecutar archivo" o presione las teclas "Shift+Enter". La salida que se muestra en el terminal muestra un marco de datos con 2 columnas, cada uno almacena 5 valores.

Ahora, generaremos otra columna basada en una condición en la columna creada anteriormente. Creamos otra columna "can_vote" dentro del marco de datos "información" para verificar quién puede votar en las elecciones de este año. Aplicamos una condición, utilizando el método de comprensión de la lista, si la edad de la persona es de 18 o más para que vote. Utilizamos una variable "A" que es cualquier valor de la columna de "edad", ya que verificamos las condiciones en función de la edad de la persona. La condición se vuelve "verdadera" si la edad es igual o mayor que "18" de lo contrario, la condición produce "falso"; donde "a" es cualquier valor en la columna "edad" en el marco de datos "info".

El primer valor de la columna de "edad" se almacena en "A" que es "28" y la condición se verificará. Como "28" es mayor que "18", la condición produce "verdadero" y el primer valor de la columna "edad" se vuelve "verdadero". Esta operación seguirá repitiendo hasta que se hayan verificado todos los valores para la condición especificada. Luego, empleamos el método "print ()" para mostrar el marco de datos con una nueva columna basada en la condición.

Cuando ejecutamos el script, muestra tanto el marco de datos anterior con dos columnas y el marco de datos actualizado con 3 columnas. En la imagen de salida a continuación, puede ver que los únicos 4th El registro tiene un valor inferior a 18, por lo que en la columna "can_vote" su valor es "falso", mientras que todos los demás registros cumplen con la condición especificada y, por lo tanto, se valoran como "verdaderos".

Ejemplo 02: utilizando el marco de datos PANDAS.Aplicar () función

La segunda técnica que discutiremos aquí es el "DataFrame de datos Pandas.Función Aplicar () "para crear una columna basada en la condición.

El marco de datos generado en el ejemplo anterior se utilizará para esta demostración. Tenemos el marco de datos de "información" que contiene dos columnas "nombre" y "edad", cada una con 5 registros. Después de imprimir el marco de datos de "información", trabajamos para crear una nueva columna en este marco de datos. Aquí hemos definido una función "can_vote" con "edad" como su parámetro. La primera condición "if" comienza que establece que si la edad es mayor e igual a 18, devuelva un valor "verdadero". Si la condición no coincide, devolverá "falso". Esta función verificará cada registro en la columna de edad y lo coincidirá con la condición especificada hasta que se compara cada registro. Ahora, tenemos que crear una columna basada en la condición que es "can_vote" y asignarle la salida de llamar al "marco de datos.Función Aplicar () ".

Proporcionamos la función que definimos anteriormente "can_vote" como un parámetro para el ".Aplicar el método () ". Tomará el valor de la columna "Age" y lo verificará en la función "can_vote" y almacenará el resultado en una nueva columna "can_vote". Por último, utilizamos el método "print ()" para imprimir el resultado.

La imagen de salida a continuación muestra la columna recién creada en la "información" de DataFrame que tiene 4 valores "verdaderos" y un valor "falso" basado en la condición especificada.

Ejemplo 03: Utilizando el marco de datos PANDAS.función map ()

Nuestro último método para crear una columna basada en la condición es utilizar el "DataFrame de datos PANDAS.función map () ”.

Primero importamos la biblioteca "Pandas como PD" en nuestro archivo de Python. Una vez que se activan las características de los pandas, comenzamos a escribir nuestro código principal. Creamos nuestro marco de datos utilizando el "PD.Método DataFrame () "e inicialice el DataFrame con dos columnas" Fecha "y" Evento ". La columna "Fecha" almacena los valores de fecha y hora que son "15/8/2022", "16/9/2022", "15/10/2022", "15/11/2022" y "16/12/2022 ".

Mientras que la columna "Evento" almacena 5 valores de cadena que son "dibujos animados", "juegos", "dibujos animados", "rompecabezas" y "juegos". Hemos almacenado este marco de datos en un objeto DataFrame "datos". Llamar al método "print ()" con el objeto DataFrame "datos" como su parámetro, mostrará el marco de datos recién creado en el terminal.

Cuando contactamos el botón "Ejecutar archivo", ejecutará el archivo Python. El marco de datos de salida se exhibe en el terminal que tiene dos columnas "fecha" y "evento".

Ahora, creamos otra columna aplicando una condición a las columnas existentes. Creamos un diccionario "Plist" y establecemos el precio de cada evento que incluye "dibujos animados: 1500", "juegos: 800" y "rompecabezas: 1200". Luego, agregue una nueva columna "Precio" en el marco de datos "Datos" y asigna el valor de mapear los registros de la columna "Evento" con los registros del diccionario "PLIST".

Para este propósito, empleamos el "marco de datos.función map () ”. El marco de datos con el nombre de la columna "Datos ['Price']" está escrito con el ".La función map () "y el nombre del diccionario" Plist "se suministra entre sus aparatos ortopédicos. Por lo tanto, esta función mapeará el "evento" con la "Plist", cada vez que coincida con un valor, dará como resultado la nueva columna "precio".

La imagen de salida muestra ambos marcos de datos. El segundo DataFrame tiene una nueva columna agregada que inserta cada registro en función de la coincidencia de la condición.

Conclusión

La lección de hoy se basa en la creación de la columna basada en alguna condición especificada. Te hemos explicado el concepto de crear una nueva columna de las existentes. Los pandas nos proporcionan una variedad de métodos para lograr el resultado deseado. En este tutorial hemos utilizado algunas de las funciones de Pandas "DataFrame.aplicar () "," DataFrame.map () "y" Comprensión de la lista ". Cada técnica se elabora con un código de ejemplo práctico implementado en Python en la herramienta "Spyder". Realmente creemos que la práctica totalmente enfocada en el aprendizaje del concepto de pandas te convertirá en un maestro de él.