Example of how to add an empty column to an existing dataframe with pandas
Table of contents
Create a dataframe
Let's create a dataframe with pandas:
import pandas as pdimport numpy as npdata = np.random.randint(10, size=(5,2))df = pd.DataFrame(data=data,columns=['A','B'])print(df)
returns for example
A B0 4 81 9 92 1 43 6 44 7 3
Add one new empty column
To add a new empty column, a straightforward solution is to do
df['C'] = ''print(df)
returns
A B C0 4 81 9 92 1 43 6 44 7 3
Another example on how to add a column with zeros only:
df['D'] = 0print(df)
returns
A B C D0 4 8 01 9 9 02 1 4 03 6 4 04 7 3 0
or a column with np.nan:
df['E'] = np.nanprint(df)
returns
A B C D E0 4 8 0 NaN1 9 9 0 NaN2 1 4 0 NaN3 6 4 0 NaN4 7 3 0 NaN
Another approach using concat
data = np.ones((5,1))new_col_df = pd.DataFrame(data=data,columns=['F'])df = pd.concat([df,new_col_df], axis=1)print(df)
returns
A B C D E F0 4 8 0 NaN 1.01 9 9 0 NaN 1.02 1 4 0 NaN 1.03 6 4 0 NaN 1.04 7 3 0 NaN 1.0
Add multiple empty columns
To add multiple empty columns in the same time, a solution is to use concat:
data = np.zeros((5,3))new_col_df = pd.DataFrame(data=data,columns=['G','H','I'])df = pd.concat([df,new_col_df], axis=1)print(df)
returns
A B C D E F G H I0 4 8 0 NaN 1.0 0.0 0.0 0.01 9 9 0 NaN 1.0 0.0 0.0 0.02 1 4 0 NaN 1.0 0.0 0.0 0.03 6 4 0 NaN 1.0 0.0 0.0 0.04 7 3 0 NaN 1.0 0.0 0.0 0.0
