Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah anda menggabungkan DataFrames dalam Pandas mengikut indeks dan apakah jenis gabungan yang tersedia?
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:
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:
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!