Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membandingkan Pandas DataFrames dan Visualisasikan Perbezaan?

Bagaimana untuk Membandingkan Pandas DataFrames dan Visualisasikan Perbezaan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-22 20:45:19915semak imbas

How to Compare Pandas DataFrames and Visualize Differences?

Membandingkan DataFrames dan Visualisasi Perbezaan dengan Side-by-Side Comparison

Memandangkan dua bingkai data Pandas, tugasnya adalah untuk mengenal pasti dan mempamerkan perubahan antara mereka dalam format yang mesra pengguna. Matlamatnya ialah untuk mengeluarkan jadual HTML yang menyerlahkan baris yang telah berubah secara visual, memaparkan nilai asal dan nilai yang dikemas kini.

Mengenal pasti Perubahan Baris

Untuk mencapai matlamat ini, adalah perlu untuk menentukan baris yang telah berubah. Ini boleh dicapai dengan menggunakan operasi ne (tidak sama), yang mengembalikan topeng boolean untuk semua elemen yang nilai yang sepadan dalam dua bingkai data berbeza.

<code class="python">ne = (df1 != df2).any(1)</code>

Mencari Entri Ubahsuai

Setelah baris dengan perubahan telah dikenal pasti, entri khusus yang telah diubah suai boleh dikesan menggunakan fungsi stack(). Dengan menapis hasil bertindan berdasarkan topeng boolean, ia menjadi mungkin untuk mengekstrak entri yang telah berubah.

<code class="python">changed = (df1 != df2).stack()[ne_stacked]
changed.index.names = ['id', 'col']</code>

Mengekstrak Nilai Berubah

Seterusnya, yang asal dan nilai yang dikemas kini boleh diekstrak menggunakan fungsi where. Ini membolehkan penciptaan DataFrame yang meringkaskan perubahan, dengan lajur "dari" dan "kepada" masing-masing mewakili nilai asal dan yang diubah suai.

<code class="python">difference_locations = np.where(df1 != df2)
changed_from = df1.values[difference_locations]
changed_to = df2.values[difference_locations]</code>

Menjana Jadual HTML

Akhir sekali, perubahan yang diekstrak boleh disusun ke dalam jadual HTML untuk menggambarkan perbezaan antara dua bingkai data. Jadual ini boleh dipaparkan dengan mana-mana enjin pemaparan HTML, seperti kaedah to_html Pandas, untuk menyediakan perbandingan sebelah menyebelah yang mesra pengguna.

<code class="python">pd.DataFrame({'from': changed_from, 'to': changed_to}, index=changed.index).to_html()</code>

Atas ialah kandungan terperinci Bagaimana untuk Membandingkan Pandas DataFrames dan Visualisasikan Perbezaan?. 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