Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Saya Melakukan Pelbagai Jenis Gabungan Pandas DataFrames?

Bagaimana Saya Melakukan Pelbagai Jenis Gabungan Pandas DataFrames?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-26 10:56:14752semak imbas

How Do I Perform Different Types of Pandas DataFrames Joins?

Pandas Penggabungan 101: Asas

MENYERTAI DataFrames

Menggabungkan DataFrames dalam Pandas melibatkan menggabungkan dua atau lebih DataFrames berdasarkan lajur kunci biasa. Terdapat beberapa jenis cantuman, termasuk:

  • INNER JOIN: Mengembalikan hanya baris yang kekunci sepadan dalam kedua-dua DataFrames.

    • df1 .merge(df2, on='key', how='inner')
  • LEFT JOIN: Termasuk semua baris dari DataFrame kiri dan baris yang sepadan dari DataFrame kanan. Nilai yang hilang dari kanan diisi dengan NaN.

    • df1.merge(df2, on='key', how='left')
  • SERTAI KANAN: Termasuk semua baris dari DataFrame yang betul dan baris yang sepadan dari DataFrame sebelah kiri. Nilai yang hilang dari kiri diisi dengan NaNs.

    • df1.merge(df2, on='key', how='right')
  • SERTAI LUAR PENUH: Termasuk semua baris daripada kedua-dua DataFrames, isian tiada nilai dengan NaNs.

    • df1.merge(df2, on='key', how='outer')

Nama Lajur Utama Berbeza

Jika lajur utama mempunyai nama yang berbeza, gunakan left_on dan right_on hujah:

  • df1.merge(df2, left_on='key1', right_on='key2', how='inner')

Elakkan Duplikat Lajur Kunci dalam Output

Apabila bergabung pada lajur utama yang berbeza, tetapkan indeks sebagai permulaan langkah:

  • df1.set_index('key1').merge(df2, left_index=True, right_on='key2')

Bercantum pada Berbilang Lajur

Sertai pada berbilang lajur dengan menghantar senarai ke on (atau left_on and right_on):

  • df1.merge(df2, on=['key1', 'key2'], how='inner')

Generalizing to Multiple DataFrames

Untuk menggabungkan berbilang DataFrames, gunakan pd.merge_asof untuk anggaran gabungan atau pd.merge_ordered for ordered joins.

Atas ialah kandungan terperinci Bagaimana Saya Melakukan Pelbagai Jenis Gabungan Pandas DataFrames?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn