Agregar columna con un valor constante en Pandas
-
Use una asignación
en el lugar
para agregar una columna con valor constante en Pandas -
Use el método
loc
para agregar una columna con valor constante en Pandas -
Use la función
asignar ()
para agregar una columna con valor constante en Pandas -
Use el método
fromkeys()
para agregar una columna con valor constante en Pandas -
Use el método
series()
para agregar una columna con valor constante en Pandas -
Use la función
aplicar ()
para agregar una 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 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.
LinkedInArtículo relacionado - Pandas DataFrame
- Cómo obtener las cabeceras de columna de Pandas DataFrame como una lista
- Cómo borrar la columna de Pandas DataFrame
- Cómo convertir la columna del DataFrame a Datetime en Pandas
- Cómo convertir un float en un entero en Pandas DataFrame
- Cómo clasificar Pandas DataFrame por los valores de una columna
- Cómo obtener el agregado de Pandas grupo por y suma