Maison  >  Article  >  développement back-end  >  Comment fusionner des DataFrames par index en Python à l'aide de Pandas ?

Comment fusionner des DataFrames par index en Python à l'aide de Pandas ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-01 17:35:02167parcourir

How do you merge DataFrames by index in Python using 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn