Añade una nueva columna al DataFrame existente en los pandas de Python

Ahmed Waheed 30 enero 2023
  1. Método de operador [] para agregar una nueva columna en Pandas
  2. df.insert() método para añadir una nueva columna en Pandas
  3. df.assign() método para agregar una nueva columna en Pandas
  4. df.loc() método para agregar una nueva columna en Pandas
Añade una nueva columna al DataFrame existente en los pandas de Python

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.

  1. étodo de operador []
  2. df.insert() Método
  3. df.assign() Método
  4. df.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