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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *