Examples of how to add multiple columns to a dataframe with pandas:
Create a dataframe with pandas
Let's create a dataframe with pandas:
import pandas as pdimport numpy as npdata = np.random.randint(10, size=(5,3))columns = ['Score A','Score B','Score C']df = pd.DataFrame(data=data,columns=columns)print(df)
returns for example
Score A Score B Score C0 1 5 51 3 9 22 5 9 33 8 6 24 4 7 6
Add a new column
Reminder: to add a single column to a dataframe, a straightforward solution is to do:
data = np.random.randint(10, size=(5,1))df['Score D'] = dataprint(df)
returns
Score A Score B Score C Score D0 1 5 5 11 3 9 2 82 5 9 3 03 8 6 2 44 4 7 6 2
Add multiple columns
To add multiple columns in the same time, a solution is to use pandas.concat:
data = np.random.randint(10, size=(5,2))columns = ['Score E','Score F']df_add = pd.DataFrame(data=data,columns=columns)print(df)df = pd.concat([df,df_add], axis=1)print(df)
returns
Score A Score B Score C Score D Score E Score F0 1 5 5 1 4 31 3 9 2 8 7 32 5 9 3 0 7 03 8 6 2 4 5 74 4 7 6 2 6 4
Remove duplicate columns
Note: if you apply concat again:
df = pd.concat([df,df_add], axis=1)
it will add again the new columns:
Score A Score B Score C Score D Score E Score F Score E Score F0 1 5 5 1 4 3 4 31 3 9 2 8 7 3 7 32 5 9 3 0 7 0 7 03 8 6 2 4 5 7 5 74 4 7 6 2 6 4 6 4
To remove column with same name just do:
df = df.loc[:,~df.columns.duplicated()]
returns
Score A Score B Score C Score D Score E Score F0 1 5 5 1 4 31 3 9 2 8 7 32 5 9 3 0 7 03 8 6 2 4 5 74 4 7 6 2 6 4
