HOWTO · Pandas
Cómo crear una columna vacía en Pandas DataFrame
Podemos agregar una columna vacía a DataFrame en Pandas usando el operador de asignación simple, reindexar(), asignar() e insertar().
En esta página
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.