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
Lepaskan: 2024-10-22 20:10:39
asal
411 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php
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