Utiliser merge_ordered()

Assembler des données avec pandas

Aaren Stubberfield

Instructor

merge_ordered()

Exemple de tableau pour merge_ordered()

Assembler des données avec pandas

Comparaison des méthodes

Méthode .merge() :

  • Colonne(s) pour la jointure
    • on, left_on et right_on
  • Type de jointure
    • how (left, right, inner, outer) {{@}}
    • par défaut : inner
  • Noms de colonnes en conflit
    • suffixes
  • Appel de la méthode
    • df1.merge(df2)

Méthode merge_ordered() :

  • Colonne(s) pour la jointure
    • on, left_on et right_on
  • Type de jointure
    • how (left, right, inner, outer)
    • par défaut : outer
  • Noms de colonnes en conflit
    • suffixes
  • Appel de la fonction
    • pd.merge_ordered(df1, df2)
Assembler des données avec pandas

Ensemble de données financières

Image d'un journal avec un graphique du Dow Jones

1 Photo par Markus Spiske sur Unsplash
Assembler 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
Assembler des données avec pandas

Fusionner des 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
Assembler des données avec pandas

Report vers l'avant (forward fill)

Image d'un avant/après d'un report vers l'avant. Les valeurs manquantes d'une colonne sont remplacées par la valeur précédente de cette colonne.

Assembler des données avec pandas

Exemple de report 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
Assembler des données avec pandas

Quand utiliser merge_ordered() ?

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

Passons à la pratique !

Assembler des données avec pandas

Preparing Video For Download...