Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah anda menggabungkan DataFrames dalam Pandas mengikut indeks dan apakah jenis gabungan yang tersedia?

Bagaimanakah anda menggabungkan DataFrames dalam Pandas mengikut indeks dan apakah jenis gabungan yang tersedia?

Mary-Kate Olsen
Lepaskan: 2024-10-31 01:35:03
asal
591 orang telah melayarinya

How do you merge DataFrames in Pandas by index and what are the different types of merges available?

Menggabungkan DataFrames mengikut Indeks: Panduan Komprehensif

Menggabungkan dua DataFrames berdasarkan indeksnya ialah tugas manipulasi data yang biasa. Walau bagaimanapun, ia boleh dihadapi dengan ralat atau tingkah laku yang tidak dijangka jika gabungan tidak didekati dengan betul. Dalam panduan ini, kita akan menyelidiki pelbagai kaedah penggabungan mengikut indeks, menyerlahkan perbezaan utama mereka dan potensi perangkap.

Memahami Fungsi Gabungan

Dalam perpustakaan Pandas Python, beberapa fungsi tersedia untuk menggabungkan DataFrames: merge, join, dan concat. Setiap fungsi mempunyai jenis cantuman lalainya sendiri:

  • cantum: Cantuman dalaman
  • cantum: Cantuman kiri
  • concat: Luar sertai

Penggabungan mengikut Indeks

Untuk menggabungkan dua DataFrames mengikut indeks, kita perlu menentukan parameter left_index dan right_index dalam fungsi gabungan atau gabungan. Ini memberitahu Panda untuk menggunakan label baris (indeks) DataFrames sebagai kunci gabungan.

Contoh:

Pertimbangkan dua DataFrames berikut:

<code class="python">df1 = pd.DataFrame({'a': range(6), 'b': [5, 3, 6, 9, 2, 4]}, index=list('abcdef'))
df2 = pd.DataFrame({'c': range(4), 'd': [10, 20, 30, 40]}, index=list('abhi'))</code>
Salin selepas log masuk

Penyertaan Dalaman (Lalai):

Untuk melakukan cantuman dalaman, menggunakan fungsi cantum:

<code class="python">pd.merge(df1, df2, left_index=True, right_index=True)</code>
Salin selepas log masuk

Output:

   a  b  c   d
a  0  5  0  10
b  1  3  1  20
Salin selepas log masuk

Kiri Sertai ( Lalai):

Untuk melakukan gabungan kiri, menggunakan gabungan fungsi:

<code class="python">df1.join(df2)</code>
Salin selepas log masuk

Output:

   a  b    c     d
a  0  5  0.0  10.0
b  1  3  1.0  20.0
c  2  6  NaN   NaN
d  3  9  NaN   NaN
e  4  2  NaN   NaN
f  5  4  NaN   NaN
Salin selepas log masuk

Cantum Luar:

Untuk melakukan cantuman luar, menggunakan concat fungsi:

<code class="python">pd.concat([df1, df2], axis=1)</code>
Salin selepas log masuk

Output:

     a    b    c     d
a  0.0  5.0  0.0  10.0
b  1.0  3.0  1.0  20.0
c  2.0  6.0  NaN   NaN
d  3.0  9.0  NaN   NaN
e  4.0  2.0  NaN   NaN
f  5.0  4.0  NaN   NaN
h  NaN  NaN  2.0  30.0
i  NaN  NaN  3.0  40.0
Salin selepas log masuk

Nota Penting:

  • Gabung mengikut indeks adalah cekap apabila lajur gabungan mempunyai saiz yang lebih kecil berbanding keseluruhan DataFrame.
  • Caburan luar mengikut indeks boleh mahal dari segi pengiraan.
  • Adalah dianggap sebagai amalan yang baik untuk mengalihkan indeks ke lajur sebelum melakukan sebarang cantuman.

Atas ialah kandungan terperinci Bagaimanakah anda menggabungkan DataFrames dalam Pandas mengikut indeks dan apakah jenis gabungan yang tersedia?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan