Comment utiliser rbind en Python (équivalent à R)
La fonction rbind dans R, abréviation de row-bind , peut être utilisée pour combiner des trames de données entre elles par leurs lignes.
Nous pouvons utiliser la fonction concat() de pandas pour exécuter la fonction équivalente en Python :
df3 = pd.concat([df1, df2])
Les exemples suivants montrent comment utiliser cette fonction dans la pratique.
Exemple 1 : utiliser rbind en Python avec des colonnes égales
Supposons que nous ayons les deux DataFrames pandas suivants :
import pandas as pd #define DataFrames df1 = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E'], 'points': [99, 91, 104, 88, 108]}) print(df1) team points 0 A 99 1 B 91 2 C 104 3 D 88 4 E 108 df2 = pd.DataFrame({'assists': ['F', 'G', 'H', 'I', 'J'], 'rebounds': [91, 88, 85, 87, 95]}) print(df2) team points 0 F 91 1 G 88 2 H 85 3 I 87 4 J 95
Nous pouvons utiliser la fonction concat() pour lier rapidement ces deux DataFrames ensemble par leurs lignes :
#row-bind two DataFrames
df3 = pd.concat([df1, df2])
#view resulting DataFrame
df3
team points
0 A 99
1 B 91
2 C 104
3 D 88
4 E 108
0 F 91
1 G 88
2 H 85
3 I 87
4 J 95
Notez que nous pouvons également utiliser reset_index() pour réinitialiser les valeurs d’index du nouveau DataFrame :
#row-bind two DataFrames and reset index values
df3 = pd.concat([df1, df2]).reset_index(drop=True)
#view resulting DataFrame
df3
team points
0 A 99
1 B 91
2 C 104
3 D 88
4 E 108
5 F 91
6 G 88
7 H 85
8 I 87
9 J 95
Exemple 2 : utiliser rbind en Python avec des colonnes inégales
Nous pouvons également utiliser la fonction concat() pour lier ensemble deux DataFrames qui ont un nombre inégal de colonnes et toutes les valeurs manquantes seront simplement remplies avec NaN :
import pandas as pd #define DataFrames df1 = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E'], 'points': [99, 91, 104, 88, 108]}) df2 = pd.DataFrame({'team': ['F', 'G', 'H', 'I', 'J'], 'points': [91, 88, 85, 87, 95], 'rebounds': [24, 27, 27, 30, 35]}) #row-bind two DataFrames df3 = pd.concat([df1, df2]).reset_index(drop=True) #view resulting DataFrame df3 team points rebounds 0 A 99 NaN 1 B 91 NaN 2 C 104 NaN 3 D 88 NaN 4 E 108 NaN 5 F 91 24.0 6 G 88 27.0 7 H 85 27.0 8 I 87 30.0 9 J 95 35.0
Ressources additionnelles
Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes en Python :
Comment utiliser cbind en Python (équivalent à R)
Comment effectuer une RECHERCHEV dans Pandas
Comment supprimer des lignes contenant une valeur spécifique dans Pandas