Maison > Article > développement back-end > Comment fusionner des DataFrames par index en Python à l'aide de Pandas ?
Fusionner des trames de données par index
La fusion de trames de données par index est une tâche simple qui nous permet de combiner des ensembles de données en fonction de leurs indices correspondants. Cette approche est avantageuse lorsque les ensembles de données partagent un ensemble commun d'étiquettes de lignes.
Pour fusionner les dataframes par index, nous avons plusieurs options :
1. Fonction de fusion
La fonction pd.merge propose par défaut une jointure interne, nous permettant de fusionner sur les indices :
<code class="python">import pandas as pd df1 = pd.DataFrame({ 'id': [278, 421], 'begin': [56, 18], 'conditional': [False, False], 'confidence': [0.0, 0.0], 'discoveryTechnique': [1, 1] }) df2 = pd.DataFrame({ 'concept': ['A', 'B'] }) result = pd.merge(df1, df2, left_index=True, right_index=True) print(result)</code>
Sortie :
id begin conditional confidence discoveryTechnique concept 0 278 56 False 0.0 1 A 1 421 18 False 0.0 1 B
2. Fonction de jointure
La méthode df.join fournit une jointure gauche par défaut :
<code class="python">result = df1.join(df2) print(result)</code>
Sortie :
id begin conditional confidence discoveryTechnique concept 0 278 56 False 0.0 1 A 1 421 18 False 0.0 1 B 2 665 48 False 0.0 0 NaN 3 1007 19 False 0.0 2 NaN 4 1636 32 False 0.0 0 NaN
3. Fonction Concat
La fonction pd.concat, avec le paramètre axis=1, propose une jointure externe par défaut :
<code class="python">result = pd.concat([df1, df2], axis=1) print(result)</code>
Sortie :
id begin conditional confidence discoveryTechnique concept 0 278 56 False 0.0 1 A 1 421 18 False 0.0 1 B 2 665 48 False 0.0 0 NaN 3 1007 19 False 0.0 2 NaN 4 1636 32 False 0.0 0 NaN 5 NaN NaN NaN NaN NaN C
Il est important de noter que la fusion sur l'index n'est pas considérée comme une mauvaise pratique et est utile lorsque les valeurs de l'index sont les identifiants principaux. Le déplacement de l'index dans une nouvelle colonne peut être réalisé à l'aide de la méthode reset_index :
<code class="python">df2 = df2.reset_index() print(df2)</code>
Sortie :
index concept 0 0 A 1 1 B
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!