Cómo crear una columna vacía en Pandas DataFrame

Suraj Joshi 30 enero 2023
  1. Crea pandas de columnas vacías con la simple asignación
  2. Método pandas.DataFrame.reindex() para agregar una columna vacía en Pandas
  3. pandas.DataFrame.assign() para agregar una columna vacía en Pandas DataFrame
  4. pandas.DataFrame.insert() para agregar una columna vacía a un DataFrame
Cómo crear una columna vacía en Pandas DataFrame

Podríamos usar los métodos reindex(), assign() e insert() del objeto DataFrame para agregar una columna vacía a DataFrame en Pandas. También podemos asignar directamente un valor vacío a la columna de DataFrame para crear una columna vacía en Pandas.

Crea pandas de columnas vacías con la simple asignación

Podemos asignar directamente columnas de DataFrame a una cadena vacía, un valor NaN o una Series de Pandas vacía para crear una columna vacía en Pandas.

import pandas as pd
import numpy as np

dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]


df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})

df["Empty_1"] = ""
df["Empty_2"] = np.nan
df["Empty_3"] = pd.Series()

print(df)

Producción :

       Date  Income  Expenses Empty_1  Empty_2  Empty_3
0  April-20      10         3              NaN      NaN
1  April-21      20         8              NaN      NaN
2  April-22      10         4              NaN      NaN
3  April-23      15         5              NaN      NaN
4  April-24      10         6              NaN      NaN
5  April-25      12        10              NaN      NaN

Crea tres columnas vacías en df. La columna Empty_1 se asigna con la cadena vacía, Empty_2 se asigna con valores NaN, y Empty_3 se asigna con una Pandas Series vacía que también da como resultado valores NaN de todo el Empty_3 columna.

Método pandas.DataFrame.reindex() para agregar una columna vacía en Pandas

Podemos usar el método pandas.DataFrame.reindex() para agregar varias columnas vacías a un DataFrame en pandas.

import pandas as pd
import numpy as np

dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]


df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})


column_names = ["Empty_1", "Empty_2", "Empty_3"]

df = df.reindex(columns=column_names)
print(df)

Producción :

   Empty_1  Empty_2  Empty_3
0      NaN      NaN      NaN
1      NaN      NaN      NaN
2      NaN      NaN      NaN
3      NaN      NaN      NaN
4      NaN      NaN      NaN
5      NaN      NaN      NaN

El código crea nuevas columnas Empty_1, Empty_2, Empty_3 en df con todos los valores NaN mientras se pierde toda la información anterior.

Para agregar varias columnas nuevas mientras se preserva la inicial, podríamos escribir el código de la siguiente manera:

import pandas as pd
import numpy as np

dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]


df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})

df = df.reindex(columns=df.columns.tolist() + ["Empty_1", "Empty_2", "Empty_3"])
print(df)

Producción :

       Date  Income  Expenses  Empty_1  Empty_2  Empty_3
0  April-20      10         3      NaN      NaN      NaN
1  April-21      20         8      NaN      NaN      NaN
2  April-22      10         4      NaN      NaN      NaN
3  April-23      15         5      NaN      NaN      NaN
4  April-24      10         6      NaN      NaN      NaN
5  April-25      12        10      NaN      NaN      NaN

Esto agrega columnas vacías Empty_1, Empty_2 y Empty_3 a la df con la preservación de la información inicial.

pandas.DataFrame.assign() para agregar una columna vacía en Pandas DataFrame

Podemos usar el método pandas.DataFrame.assign() para agregar una columna vacía a DataFrame en pandas.

import pandas as pd
import numpy as np

dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]


df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})

df = df.assign(Empty_1="", Empty_2=np.nan)
print(df)

Producción :

       Date  Income  Expenses Empty_1  Empty_2
0  April-20      10         3              NaN
1  April-21      20         8              NaN
2  April-22      10         4              NaN
3  April-23      15         5              NaN
4  April-24      10         6              NaN
5  April-25      12        10              NaN

Crea una columna vacía llamada Empty_1 y Empty_2 que contiene solo valores de NaN en el df.

pandas.DataFrame.insert() para agregar una columna vacía a un DataFrame

pandas.DataFrame.insert() nos permite insertar una columna en un DataFrame en ubicación especificada Podemos usar este método para agregar una columna vacía a un DataFrame.

Sintaxis:

DataFrame.insert(loc, column, value, allow_duplicates=False)

Crea una nueva columna con el nombre column en la ubicación loc con el valor predeterminado value. allow_duplicates=False asegura que solo hay una columna con el nombre column en el dataFrame. Si pasamos una cadena vacía o el valor NaN como parámetro de valor, podemos agregar una columna vacía al DataFrame.

import pandas as pd
import numpy as np

dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]


df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})
df.insert(3, "Empty_1", "")
df.insert(4, "Empty_2", np.nan)
print(df)

Producción :

       Date  Income  Expenses Empty_1  Empty_2
0  April-20      10         3              NaN
1  April-21      20         8              NaN
2  April-22      10         4              NaN
3  April-23      15         5              NaN
4  April-24      10         6              NaN
5  April-25      12        10              NaN

Crea la columna Empty_1 en df con todos los valores vacíos en el índice 3 y Empty_2 en el índice 4 con todos los valores NaN.

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Artículo relacionado - Pandas DataFrame Column

Artículo relacionado - Pandas DataFrame