Masalah:
Apabila cuba menggabungkan dua data panda bingkai menggunakan kaedah DataFrame.join(), ralat ditemui: "Lajur bertindih."
Bingkai Data:
Kod Percubaan:
<code class="python">restaurant_review_frame.join(other=restaurant_ids_dataframe, on='business_id', how='left')</code>
Ralat:
<code class="text">Exception: columns overlap: Index([business_id, stars, type], dtype=object)</code>
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>
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>
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!