Agregar una columna calculada a un dataframe python

Pandas añadir columna a dataframe

Pandas es extremadamente versátil e incluye una amplia gama de métodos diferentes que puede utilizar para añadir una nueva columna o serie a un marco de datos existente. Si desea asignar un valor constante o escalar a cada fila, un valor específico basado en la fila individual, o una nueva columna basada en un cálculo u otra operación, Pandas lo hace fácil.

En este tutorial le mostraré una serie de técnicas que puede utilizar para añadir rápida y fácilmente una columna a un marco de datos de Pandas. Cubriremos la asignación manual de columnas, la creación de nuevas columnas a partir de listas y el uso de las técnicas insert(), assign() y loc.

Para empezar, abra un cuaderno Jupyter, importe Pandas y cree un marco de datos Pandas. Lo utilizaremos en la serie de ejemplos siguientes y añadiremos nuevas columnas al marco de datos utilizando diversas técnicas.

La forma más común de añadir una nueva columna a un dataframe de Pandas es simplemente declarar el nombre de la nueva columna y asignarle un escalar (un único valor que se aplicará a cada fila) o una lista Python de valores correspondientes a cada fila del dataframe. En el siguiente ejemplo, definiremos una nueva columna llamada fabricante a la que asignaremos un valor escalar o constante, después definiremos una columna llamada mpg a la que asignaremos una lista de valores.

¿Cómo crear una nueva columna calculada en DataFrame en Python?

Para crear una nueva columna, utilice los corchetes [] con el nombre de la nueva columna a la izquierda de la asignación.

¿Cómo añado una columna NaN a un DataFrame en Python?

En caso de querer añadir el mismo valor vacío NaN para todas las columnas múltiples, se puede utilizar el método DataFrame. reindex(). Este método toma la lista de columnas que incluye las columnas existentes y las nuevas a añadir.

  Agregar columnas calculadas en mysql

¿Cómo añado una columna a un DataFrame después de una columna específica?

Sí, puede añadir una nueva columna en una posición especificada en un marco de datos, especificando un índice y utilizando la función insert(). Por defecto, al añadir una columna siempre se añadirá como la última columna de un marco de datos. Esto insertará la columna en el índice 2, y la llenará con los datos proporcionados por data .

Pandas añade una nueva columna con valor basado en otra columna

Pandas es una potente librería de Python para la manipulación y análisis de datos, y una de sus características más útiles es la posibilidad de crear tablas dinámicas. Las tablas dinámicas pueden ayudarle a resumir y analizar grandes conjuntos de datos de forma rápida y eficiente, y Pandas facilita su creación mediante la función pivot_table(). Puedes consultar el tutorial de Pandas sobre tablas dinámicas si aún no lo has hecho.

Usamos una función lambda para calcular el porcentaje de columna para cada dimensión en la fila. La función lambda toma los valores de la tabla pivotante como entrada y aplica el cálculo que podemos insertar en la sección aggfunc de la tabla pivotante. He aquí un ejemplo de función lambda lambda x: sum(x) / sum(df[‘columna’]) * 100) a los mismos.

Supongamos que tiene un conjunto de datos de ventas, con columnas para el nombre del vendedor, el producto vendido y el importe de las ventas. Quieres crear una tabla dinámica que muestre el porcentaje de ventas totales de cada vendedor. A continuación se explica cómo hacerlo:

Para obtener el porcentaje del total de la columna podemos utilizar la misma función lambda. Sin embargo, tendremos que aplicarla a la función a las columnas. Podemos hacerlo utilizando la función apply. Es necesario aplicarla después de haber creado la tabla. Utilice el marco de datos pandas de arriba para practicar.

  Agregar columnas a una tabla javascript

Los pandas crean una nueva columna a partir de otras columnas

Vamos a trabajar con los mismos datos de entrada ‘Kumpula-June-2016-w-metadata.txt’ y cargarlos usando el método pd.read_csv(). Recuerda que las primeras 8 líneas contienen metadatos, así que podemos omitirlas. Esta vez, vamos a almacenar la ruta del archivo en una variable separada con el fin de hacer el código más legible y más fácil de cambiar después:

Tenga en cuenta que nuestro archivo de entrada ‘Kumpula-June-2016-w-metadata.txt’ se encuentra en la misma carpeta que el cuaderno que estamos ejecutando. Además, la misma carpeta es el directorio de trabajo de nuestra sesión Python (puedes comprobarlo ejecutando el comando mágico %pwd).

Por estas dos razones, podemos pasar sólo el nombre del fichero a la función .read_csv() y pandas es capaz de encontrar el fichero y leerlo. De hecho, estamos usando una ruta relativa cuando leemos el fichero.

La ruta absoluta al archivo de datos de entrada en el entorno de computación en nube de CSC es /home/jovyan/mi-trabajo/notebooks/L5/Kumpula-Junio-2016-w-metadata.txt, y también podríamos utilizar esto como entrada al leer el archivo. Cuando se trabaja con rutas de archivo absolutas, es una buena práctica pasar las rutas de archivo como una cadena sin procesar utilizando el prefijo r para evitar problemas con caracteres de escape como “\n”.

Los pandas añaden una nueva columna basándose en otras columnas

La forma más sencilla de añadir una columna a un dataframe en pandas python es usando el operador de asignación. Menciona el nombre del dataframe seguido del nombre de la nueva columna dentro de los corchetes, igual al operador, y luego el valor para la columna.

He añadido una sola columna al marco de datos que es Género y he establecido el valor por defecto como ‘Masculino’. Los valores por defecto alternativos podrían ser – valores que faltan (nan), Ninguno, cadenas vacías (‘ ‘), o la lista de valores a la longitud del índice.

  Agregar columna a tabla mysql phpmyadmin

El método assign() en python pandas se utiliza para crear una nueva columna con los valores modificados derivados de la(s) columna(s) existente(s). Es útil cuando el requisito es añadir una columna de un dataframe a otro panda.

Los valores por defecto no se limitan sólo a cadenas, también se puede establecer un valor entero por defecto. En el siguiente ejemplo, he añadido columnas al dataframe de pandas con latitudes y longitudes con valores por defecto.

Este ejemplo no es realista ya que todas las sucursales de la empresa Carwash se encuentran en diferentes lugares de los Estados Unidos y en el extranjero. Pero es apropiado para explicar cómo añadir una columna en el dataframe de pandas con un valor por defecto.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad