Bagaimana untuk Menggabungkan Pandas DataFrames dengan Lajur Bertindih?

Linda Hamilton
Lepaskan: 2024-10-25 03:23:02
asal
960 orang telah melayarinya

How to Combine Pandas DataFrames with Overlapping Columns?

Cara Menggabungkan Bingkai Data Pandas Berdasarkan Lajur Dikongsi

Masalah:

Apabila cuba menggabungkan dua data panda bingkai menggunakan kaedah DataFrame.join(), ralat ditemui: "Lajur bertindih."

Bingkai Data:

  • restaurant_ids_dataframe: Mengandungi maklumat tentang restoran ID, kategori, alamat, dll.
  • restaurant_review_frame: Termasuk data semakan seperti tarikh, bintang, ID pengguna, dll.

Kod Percubaan:

<code class="python">restaurant_review_frame.join(other=restaurant_ids_dataframe, on='business_id', how='left')</code>
Salin selepas log masuk

Ralat:

<code class="text">Exception: columns overlap: Index([business_id, stars, type], dtype=object)</code>
Salin selepas log masuk

Penyelesaian:

Untuk menyelesaikan ralat dan menggabungkan bingkai data, gunakan kaedah merge() dan bukannya join():

<code class="python">import pandas as pd
result = pd.merge(restaurant_ids_dataframe, restaurant_review_frame, on='business_id', how='outer')</code>
Salin selepas log masuk

Secara lalai, merge() menggunakan gabungan luar, yang menggabungkan semua baris daripada kedua-dua bingkai data. Argumen on menentukan lajur yang digunakan untuk melaksanakan operasi penggabungan.

Akhiran untuk Lajur Bertindih:

Memandangkan kedua-dua bingkai data mempunyai lajur bernama bintang, bingkai data yang digabungkan akan mengandungi dua lajur: stars_x dan stars_y. Untuk menyesuaikan akhiran ini, gunakan hujah akhiran:

<code class="python">result = pd.merge(..., suffixes=('_restaurant_id', '_restaurant_review'))</code>
Salin selepas log masuk

Ini akan menamakan semula lajur bintang kepada stars_restaurant_id dan stars_restaurant_review dalam bingkai data yang digabungkan.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Pandas DataFrames dengan Lajur Bertindih?. 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