Exemples de comment ajouter plusieurs colonnes en même temps dans une dataframe avec pandas
Créez un dataframe avec pandas
Créons une dataframe avec pandas:
import pandas as pd
import numpy as np
data = np.random.randint(10, size=(5,3))
columns = ['Score A','Score B','Score C']
df = pd.DataFrame(data=data,columns=columns)
print(df)
donne par exemple
Score A Score B Score C
0 1 5 5
1 3 9 2
2 5 9 3
3 8 6 2
4 4 7 6
Ajouter une nouvelle colonne
Rappel: pour ajouter une seule colonne à un dataframe, une solution simple est de faire comme ceci:
data = np.random.randint(10, size=(5,1))
df['Score D'] = data
print(df)
donne
Score A Score B Score C Score D
0 1 5 5 1
1 3 9 2 8
2 5 9 3 0
3 8 6 2 4
4 4 7 6 2
Ajouter plusieurs colonnes
Pour ajouter plusieurs colonnes en même temps, une solution consiste à utiliser 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)
donne
Score A Score B Score C Score D Score E Score F
0 1 5 5 1 4 3
1 3 9 2 8 7 3
2 5 9 3 0 7 0
3 8 6 2 4 5 7
4 4 7 6 2 6 4
Supprimer les colonnes en double
Remarque: si vous appliquez à nouveau concat:
df = pd.concat([df,df_add], axis=1)
il ajoutera à nouveau les nouvelles colonnes:
Score A Score B Score C Score D Score E Score F Score E Score F
0 1 5 5 1 4 3 4 3
1 3 9 2 8 7 3 7 3
2 5 9 3 0 7 0 7 0
3 8 6 2 4 5 7 5 7
4 4 7 6 2 6 4 6 4
Pour supprimer la colonne du même nom, faites simplement:
df = df.loc[:,~df.columns.duplicated()]
donne
Score A Score B Score C Score D Score E Score F
0 1 5 5 1 4 3
1 3 9 2 8 7 3
2 5 9 3 0 7 0
3 8 6 2 4 5 7
4 4 7 6 2 6 4