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
Mary-Kate Olsenasal
2024-10-31 01:35:03582semak imbas

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>

Penyertaan Dalaman (Lalai):

Untuk melakukan cantuman dalaman, menggunakan fungsi cantum:

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

Output:

   a  b  c   d
a  0  5  0  10
b  1  3  1  20

Kiri Sertai ( Lalai):

Untuk melakukan gabungan kiri, menggunakan gabungan fungsi:

<code class="python">df1.join(df2)</code>

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

Cantum Luar:

Untuk melakukan cantuman luar, menggunakan concat fungsi:

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

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

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!

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