Gộp một bảng với chính nó

Kết hợp dữ liệu với pandas

Aaren Stubberfield

Instructor

Dữ liệu phim phần tiếp theo

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

Hình Toy Story và phần tiếp theo Toy Story 2

Kết hợp dữ liệu với pandas

Gộp một bảng với chính nó

Hình hai bản sao của cùng một bảng được gộp với nhau

Kết hợp dữ liệu với pandas

Gộp một bảng với chính nó

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
Kết hợp dữ liệu với pandas

Định dạng kết quả tiếp theo

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 ...
Kết hợp dữ liệu với pandas

Gộp bảng với chính nó bằng 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
Kết hợp dữ liệu với pandas

Khi nào gộp một bảng với chính nó

Tình huống thường gặp:

  • Quan hệ phân cấp
  • Quan hệ tuần tự
  • Dữ liệu dạng đồ thị
Kết hợp dữ liệu với pandas

Ayo berlatih!

Kết hợp dữ liệu với pandas

Preparing Video For Download...