Een tabel met zichzelf mergen

Data samenvoegen met pandas

Aaren Stubberfield

Instructor

Data over vervolgfilms

print(sequel.head())
  id     title        sequel
0 19995  Avatar       NaN
1 862    Toy Story    863
2 863    Toy Story 2  10193
3 597    Titanic      NaN
4 24428  The Avengers NaN

Afbeelding van Toy Story en vervolg Toy Story 2

Data samenvoegen met pandas

Een tabel met zichzelf mergen

Afbeelding van twee kopieën van dezelfde tabel die samen zijn gemerged

Data samenvoegen met pandas

Een tabel met zichzelf mergen

original_sequels = sequels.merge(sequels, left_on='sequel', right_on='id', 
                                 suffixes=('_org','_seq'))
print(original_sequels.head())
  id_org  title_org        sequel_org  id_seq  title_seq        sequel_seq
0 862     Toy Story        863         863     Toy Story 2      10193     
1 863     Toy Story 2      10193       10193   Toy Story 3      NaN       
2 675     Harry Potter...  767         767     Harry Potter...  NaN       
3 121     The Lord of ...  122         122     The Lord of ...  NaN       
4 120     The Lord of ...  121         121     The Lord of ...  122
Data samenvoegen met pandas

Resultaten verder formatteren

print(original_sequels[,['title_org','title_seq']].head())
  title_org        title_seq      
0 Toy Story        Toy Story 2    
1 Toy Story 2      Toy Story 3    
2 Harry Potter...  Harry Potter...
3 The Lord of ...  The Lord of ...
4 The Lord of ...  The Lord of ...
Data samenvoegen met pandas

Een tabel met zichzelf mergen met left join

original_sequels = sequels.merge(sequels, left_on='sequel', right_on='id', 
                                 how='left', suffixes=('_org','_seq'))
print(original_sequels.head())
  id_org  title_org     sequel_org  id_seq  title_seq    sequel_seq
0 19995   Avatar        NaN         NaN     NaN          NaN       
1 862     Toy Story     863         863     Toy Story 2  10193     
2 863     Toy Story 2   10193       10193   Toy Story 3  NaN       
3 597     Titanic       NaN         NaN     NaN          NaN       
4 24428   The Avengers  NaN         NaN     NaN          NaN
Data samenvoegen met pandas

Wanneer merge je een tabel met zichzelf

Veelvoorkomend:

  • Hiërarchische relaties
  • Sequentiële relaties
  • Grafen
Data samenvoegen met pandas

Laten we oefenen!

Data samenvoegen met pandas

Preparing Video For Download...