Utilisation de merge_ordered()

Joindre des données avec pandas

Aaren Stubberfield

Instructor

merge_ordered()

Exemple de table avec merge_ordered()

Joindre des données avec pandas

Comparaison des méthodes

Méthode .merge() :

  • Colonne(s) à joindre
    • on, left_on, et right_on
  • Type de jointure
    • how (gauche, droite, intérieur, extérieur) {{@}}
    • intérieur par défaut
  • Noms de colonnes qui se chevauchent
    • suffixes
  • Appel de la méthode
    • df1.merge(df2)

Méthode merge_ordered() :

  • Colonne(s) à joindre
    • on, left_on, et right_on
  • Type de jointure
    • how (gauche, droite, intérieur, extérieur)
    • extérieur par défaut
  • Noms de colonnes qui se chevauchent
    • suffixes
  • Appel de la fonction
    • pd.merge_ordered(df1, df2)
Joindre des données avec pandas

Ensemble de données financières

Image d'un journal avec le graphique Dow Jones

1 Photo par Markus Spiske sur Unsplash
Joindre des données avec pandas

Données boursières

Nom de la table : aapl

  date        close    
0 2007-02-01  12.087143
1 2007-03-01  13.272857
2 2007-04-01  14.257143
3 2007-05-01  17.312857
4 2007-06-01  17.434286

Nom de la table : mcd

  date        close    
0 2007-01-01  44.349998
1 2007-02-01  43.689999
2 2007-03-01  45.049999
3 2007-04-01  48.279999
4 2007-05-01  50.549999
Joindre des données avec pandas

Fusionner les données boursières

import pandas as pd
pd.merge_ordered(aapl, mcd, on='date', suffixes=('_aapl','_mcd'))
  date        close_aapl  close_mcd
0 2007-01-01  NaN         44.349998
1 2007-02-01  12.087143   43.689999
2 2007-03-01  13.272857   45.049999
3 2007-04-01  14.257143   48.279999
4 2007-05-01  17.312857   50.549999
5 2007-06-01  17.434286   NaN
Joindre des données avec pandas

Remplissage vers l'avant

Image avant et après un comblement vers l'avant. Les valeurs manquantes dans une colonne sont remplacées par les valeurs précédentes de cette colonne.

Joindre des données avec pandas

Exemple de remplissage vers l'avant

pd.merge_ordered(aapl, mcd, on='date', 
                 suffixes=('_aapl','_mcd'), 
                 fill_method='ffill')
  date        close_aapl  close_mcd
0 2007-01-01  NaN         44.349998
1 2007-02-01  12.087143   43.689999
2 2007-03-01  13.272857   45.049999
3 2007-04-01  14.257143   48.279999
4 2007-05-01  17.312857   50.549999
5 2007-06-01  17.434286   50.549999
pd.merge_ordered(aapl, mcd, on='date', 
                 suffixes=('_aapl','_mcd'))
  date        close_aapl  close_mcd
0 2007-01-01  NaN         44.349998
1 2007-02-01  12.087143   43.689999
2 2007-03-01  13.272857   45.049999
3 2007-04-01  14.257143   48.279999
4 2007-05-01  17.312857   50.549999
5 2007-06-01  17.434286   NaN
Joindre des données avec pandas

Quand utiliser merge_ordered() ?

  • Données ordonnées / séries chronologiques
  • Remplir les valeurs manquantes
Joindre des données avec pandas

Passons à la pratique !

Joindre des données avec pandas

Preparing Video For Download...