merge_ordered() gebruiken

Data samenvoegen met pandas

Aaren Stubberfield

Instructor

merge_ordered()

Tabelvoorbeeld van merge_ordered()

Data samenvoegen met pandas

Methoden vergelijken

.merge()-methode:

  • Kolom(men) om op te joinen
    • on, left_on en right_on
  • Type join
    • how (left, right, inner, outer) {{@}}
    • standaard inner
  • Overlappende kolomnamen
    • suffixes
  • De methode aanroepen
    • df1.merge(df2)

merge_ordered()-methode:

  • Kolom(men) om op te joinen
    • on, left_on en right_on
  • Type join
    • how (left, right, inner, outer)
    • standaard outer
  • Overlappende kolomnamen
    • suffixes
  • De functie aanroepen
    • pd.merge_ordered(df1, df2)
Data samenvoegen met pandas

Financiële dataset

Afbeelding van krant met Dow Jones-grafiek

1 Foto door Markus Spiske op Unsplash
Data samenvoegen met pandas

Aandelenkoersen

Tabelnaam: 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

Tabelnaam: 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
Data samenvoegen met pandas

Aandelengegevens samenvoegen

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
Data samenvoegen met pandas

Forward fill

Afbeelding van voor en na bij forward fill. Missende waarden in een kolom worden ingevuld met de vorige waarde van die kolom.

Data samenvoegen met pandas

Voorbeeld van forward fill

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
Data samenvoegen met pandas

Wanneer merge_ordered() gebruiken?

  • Geordende data / tijdreeksen
  • Missende waarden invullen
Data samenvoegen met pandas

Laten we oefenen!

Data samenvoegen met pandas

Preparing Video For Download...