Rumah >pembangunan bahagian belakang >Tutorial Python >Cara Membanding dan Memaparkan Perbezaan Bingkai Data Dengan Berkesan Menggunakan Python

Cara Membanding dan Memaparkan Perbezaan Bingkai Data Dengan Berkesan Menggunakan Python

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

How to Compare and Display Dataframe Differences Effectively Using Python

Membanding dan Memaparkan Perbezaan Bingkai Data Dengan Berkesan

Pengenalan

Mengenalpasti dan memahami perbezaan antara dua kerangka data adalah tugas biasa dalam analisis data. Sama ada membandingkan data sejarah dengan aliran semasa atau menjejaki perubahan dalam pangkalan data, keupayaan untuk menyerlahkan perubahan ini dengan tepat adalah penting.

Pernyataan Masalah

Andaikan kita mempunyai dua bingkai data mengandungi maklumat senarai pelajar dari dua bulan berbeza: "StudentRoster Jan-1" dan "StudentRoster Jan-2." Matlamat kami adalah untuk mencipta jadual HTML yang memaparkan dengan jelas perubahan antara dua bingkai data ini, menunjukkan nilai baharu dan lama untuk setiap baris.

Penyelesaian

Mengenalpasti Baris Berubah

Langkah pertama ialah menentukan baris mana yang sebenarnya telah berubah. Kita boleh menggunakan fungsi any() untuk menyemak setiap baris untuk sebarang perbezaan:

<code class="python">import pandas as pd
import numpy as np

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

Ini akan mengembalikan Siri Boolean dengan True menunjukkan baris yang diubah.

Mengekstrak Nilai Berubah

Seterusnya, kita perlu mengekstrak nilai berubah sebenar. Kami menggunakan kaedah .stack() untuk mengubah bingkai data menjadi satu lajur, kemudian tapis lajur ini untuk nilai yang diubah:

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

Ini akan memberi kami nama indeks dan lajur bagi nilai yang diubah.

Mengekstrak Nilai Terdahulu dan Baharu

Menggunakan indeks daripada nilai yang diubah, kita boleh mengekstrak nilai sebelumnya dan baharu untuk setiap entri yang diubah:

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

Membuat Jadual HTML

Akhir sekali, kita boleh mencipta jadual HTML dengan menggabungkan nilai yang diekstrak:

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

Bingkai data ini mengandungi dua lajur: "dari" dan "ke", yang memaparkan nilai asal dan baharu untuk setiap entri yang diubah. Indeks kerangka data mengenal pasti baris dan lajur tempat perubahan berlaku.

Dengan memaparkan nilai yang diubah dan nilai sebelumnya dan baharu bersebelahan, jadual HTML ini memberikan gambaran keseluruhan yang jelas dan komprehensif tentang perubahan antara dua bingkai data.

Atas ialah kandungan terperinci Cara Membanding dan Memaparkan Perbezaan Bingkai Data Dengan Berkesan Menggunakan Python. 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