Agregar columna con un valor constante en Pandas

Olorunfemi Akinlua 21 junio 2023
  1. Use una asignación en el lugar para agregar una columna con valor constante en Pandas
  2. Use el método loc para agregar una columna con valor constante en Pandas
  3. Use la función asignar () para agregar una columna con valor constante en Pandas
  4. Use el método fromkeys() para agregar una columna con valor constante en Pandas
  5. Use el método series() para agregar una columna con valor constante en Pandas
  6. Use la función aplicar () para agregar una columna con un valor constante en Pandas
Agregar columna con un valor constante en Pandas

A menudo, cargamos datos de fuentes externas como CSV, JSON o los completamos en función de la biblioteca numpy. Pero más que eso, necesitamos crear una nueva columna de datos con valores para trabajar.

Podemos usar diferentes enfoques con diferentes complejidades para casos de uso específicos para lograr esto. Este artículo discutirá seis (6) formas de agregar columnas con un valor constante en Pandas.

Use una asignación en el lugar para agregar una columna con valor constante en Pandas

La forma más sencilla de agregar una columna con un valor constante en pandas es usar el operador de asignación típico (=). Al usarlo, asignamos el valor constante a un nuevo nombre de columna usando la notación de corchetes como se muestra a continuación.

DataFrame["column name"] = value

Ilustremos esto creando un marco de datos aleatorio (con tres columnas: A, B y C) usando numpy y luego agregando una nueva columna (llamada D) con un valor constante de 0.1.

Código:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(3, 3), columns=list("ABC"), index=[1, 2, 3])

print(df)

Producción :

          A         B         C
1  0.466388 -0.626593  0.127939
2 -0.523171  0.778552 -1.056575
3  1.669556 -0.254253  0.855463

Ahora, para agregar la nueva columna D con el valor constante 0.1, el código a continuación es suficiente.

Código:

df["D"] = 0.1
print(df)

Producción :

         A         B         C    D
1 -0.099164  0.100860  0.070556  0.1
2 -0.693606 -0.226484  0.032315  0.1
3  0.831928 -0.545919  1.759017  0.1

Use el método loc para agregar una columna con valor constante en Pandas

El método loc es otro enfoque que podemos usar para agregar una columna con un valor constante en pandas. El método loc nos permite indexar una parte del DataFrame por nombres de filas y columnas, por lo que podemos seleccionar una nueva columna (como hicimos con la notación cuadrada en la sección anterior) usando el método loc y asignar un nuevo nombre de columna.

Agreguemos un nuevo nombre de columna - E - con un valor constante de 0.2 usando el método loc.

Código:

df.loc[:, "E"] = 0.2
print(df)

Producción :

       A         B         C       E
1 -0.233729 -0.343784 -0.354388  0.2
2 -0.529278 -0.239034  0.791784  0.2
3 -0.498778  0.165311  2.983666  0.2

El : especifica que todas las filas están indexadas, se especifica la columna E y luego se le asigna el valor 0.2.

Use la función asignar () para agregar una columna con valor constante en Pandas

Otro enfoque para lograr la operación de agregar una columna con un valor constante en Pandas es la función assign(). La función assign() es una función específica diseñada para asignar nuevas columnas a un Pandas DataFrame donde el nombre de la columna se pasa como argumento de la función.

Usando esto, crearemos una nueva columna - F - con un valor asignado - 0.3 en el DataFrame df que hemos usado en el artículo.

Código:

df = df.assign(F=0.3)
print(df)

Producción :

          A         B         C    D    E    F
1  1.474679 -0.369649  0.258509  0.1  0.2  0.3
2 -0.887326 -0.097165  0.394489  0.1  0.2  0.3
3 -1.763712  0.631679 -0.667194  0.1  0.2  0.3

Use el método fromkeys() para agregar una columna con valor constante en Pandas

Aún así, en la función assign(), si queremos agregar varias columnas con un valor constante en Pandas, podemos usar la función assign() y las funciones dict.fromkeys(). La función fromkeys() toma dos argumentos.

El primer argumento es la lista que contiene los nombres de las columnas y el segundo argumento es el valor constante que queremos en las columnas que pasamos. El fromkeys() devuelve un diccionario creado en base al primer argumento (lista) y el segundo argumento (valor) para una relación de par de claves.

Luego, el diccionario se analiza para la función asignar(), y el ** sirve como un modismo que permite un número arbitrario de argumentos (el diccionario) para la función.

Código:

newColumns = ["G", "H", "I"]
df = df.assign(**dict.fromkeys(newColumns, 0.4))
print(df)

Producción :

          A         B         C    D    E    F    G    H    I
1  1.474679 -0.369649  0.258509  0.1  0.2  0.3  0.4  0.4  0.4
2 -0.887326 -0.097165  0.394489  0.1  0.2  0.3  0.4  0.4  0.4
3 -1.763712  0.631679 -0.667194  0.1  0.2  0.3  0.4  0.4  0.4

En lugar de usar la lista y la función fromkeys(), podemos especificar qué valor constante queremos que tenga cada columna creando un diccionario directamente y usando la función assign(). De esta manera, tenemos diferentes valores constantes para cada columna.

Código:

newDictColumns = {"J": 0.5, "K": 0.6, "L": 0.7}
df = df.assign(**newDictColumns)
print(df)

Producción :

          A         B         C    D    E    F    G    H    I    J    K    L
1  1.474679 -0.369649  0.258509  0.1  0.2  0.3  0.4  0.4  0.4  0.5  0.6  0.7
2 -0.887326 -0.097165  0.394489  0.1  0.2  0.3  0.4  0.4  0.4  0.5  0.6  0.7
3 -1.763712  0.631679 -0.667194  0.1  0.2  0.3  0.4  0.4  0.4  0.5  0.6  0.7

Use el método series() para agregar una columna con valor constante en Pandas

La función series() nos permite crear una matriz unidimensional con etiquetas de eje. Para agregar una nueva columna, usamos la comprensión de lista para recorrer el índice de DataFrame y agregar el valor constante.

Agreguemos una columna M pasando la lista de comprensión a la función series().

Código:

df["M"] = pd.Series([0.8 for x in range(len(df.index) + 1)])
print(df)

Producción :

          A         B         C    D    E    F    G    H    I    J    K    L  \
1  1.474679 -0.369649  0.258509  0.1  0.2  0.3  0.4  0.4  0.4  0.5  0.6  0.7
2 -0.887326 -0.097165  0.394489  0.1  0.2  0.3  0.4  0.4  0.4  0.5  0.6  0.7
3 -1.763712  0.631679 -0.667194  0.1  0.2  0.3  0.4  0.4  0.4  0.5  0.6  0.7

     M
1  0.8
2  0.8
3  0.8

Use la función aplicar () para agregar una columna con un valor constante en Pandas

Podemos usar la función aplicar () para agregar una columna con un valor constante en Pandas pasando una función lambda que asigna el valor a cada celda. Posteriormente, el resultado de la función aplicar() se asigna a la notación cuadrada de la columna DataFrame.

Veamos esto en acción creando una columna N con un valor constante de 0.9 usando una función lambda dentro de la función aplicar().

Código:

df["N"] = df.apply(lambda x: 0.9, axis=1)
print(df)

Producción :

          A         B         C    D    E    F    G    H    I    J    K    L  \
1  1.474679 -0.369649  0.258509  0.1  0.2  0.3  0.4  0.4  0.4  0.5  0.6  0.7
2 -0.887326 -0.097165  0.394489  0.1  0.2  0.3  0.4  0.4  0.4  0.5  0.6  0.7
3 -1.763712  0.631679 -0.667194  0.1  0.2  0.3  0.4  0.4  0.4  0.5  0.6  0.7

     M    N
1  0.8  0.9
2  0.8  0.9
3  0.8  0.9
Olorunfemi Akinlua avatar Olorunfemi Akinlua avatar

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.

LinkedIn

Artículo relacionado - Pandas DataFrame