Añade una nueva columna al DataFrame existente en los pandas de Python
-
Método de operador
[]
para agregar una nueva columna en Pandas -
df.insert()
método para añadir una nueva columna en Pandas -
df.assign()
método para agregar una nueva columna en Pandas -
df.loc()
método para agregar una nueva columna en Pandas
Añadir una nueva columna al DataFrame existente se utiliza con mucha frecuencia cuando se trabaja con grandes conjuntos de datos. Por ejemplo, el DataFrame
existente tiene las columnas First
, Last
y age
, y necesitamos añadirle una nueva columna city
. A continuación se enumeran las diferentes formas de lograr esta tarea.
- étodo de operador
[]
df.insert()
Métododf.assign()
Métododf.loc()
Método
Usaremos el mismo DataFrame
en las siguientes secciones como sigue,
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df = pd.DataFrame(data, columns=["First", "Last", "Age"])
print(df)
Producción :
First Last Age
0 Ali Azmat 30
1 Sharukh Khan 40
2 Linus Torvalds 70
Método de operador []
para agregar una nueva columna en Pandas
Podríamos usar el operador []
para añadir una nueva columna al DataFrame existente.
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df = pd.DataFrame(data, columns=["First", "Last", "Age"])
city = ["Lahore", "Dehli", "New York"]
df["city"] = city
print(df)
Producción :
First Last Age city
0 Ali Azmat 30 Lahore
1 Sharukh Khan 40 Dehli
2 Linus Torvalds 70 New York
df.insert()
método para añadir una nueva columna en Pandas
Puedes usar la función df.insert()
si quieres añadir la nueva columna en un índice específico. El primer parámetro de la función df.insert()
es el índice de inserción que comienza desde cero.
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df = pd.DataFrame(data, columns=["First", "Last", "Age"])
df.insert(3, "city", ["Lahore", "Dehli", "New York"], True)
print(df)
Producción :
First Last Age city
0 Ali Azmat 30 Lahore
1 Sharukh Khan 40 Dehli
2 Linus Torvalds 70 New York
df.assign()
método para agregar una nueva columna en Pandas
df.assign()
también se puede usar para añadir una nueva columna a un DataFrame existente.
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df = pd.DataFrame(data, columns=["First", "Last", "Age"])
df = df.assign(city=["Lahore", "Dehli", "New York"])
print(df)
Producción :
First Last Age city
0 Ali Azmat 30 Lahore
1 Sharukh Khan 40 Dehli
2 Linus Torvalds 70 New York
Veamos cómo agregar múltiples columnas usando f.assign()
. El siguiente ejemplo agregará columnas de city
y score
.
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df = pd.DataFrame(data, columns=["First", "Last", "Age"])
df = df.assign(city=["Lahore", "Dehli", "New York"], score=[20, 30, 40])
print(df)
Producción :
First Last Age city score
0 Ali Azmat 30 Lahore 20
1 Sharukh Khan 40 Dehli 30
2 Linus Torvalds 70 New York 40
df.loc()
método para agregar una nueva columna en Pandas
El método df.loc()
también puede añadir una nueva columna en un DataFrame existente.
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df = pd.DataFrame(data, columns=["First", "Last", "Age"])
df.loc[:, "city"] = ["Lahore", "Dehli", "New York"]
print(df)
Producción :
First Last Age city
0 Ali Azmat 30 Lahore
1 Sharukh Khan 40 Dehli
2 Linus Torvalds 70 New York