Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengira Perbezaan Skor untuk Berbilang Laman Web dan Negara dalam Panda?

Bagaimana untuk Mengira Perbezaan Skor untuk Berbilang Laman Web dan Negara dalam Panda?

Susan Sarandon
Susan Sarandonasal
2024-10-31 18:37:02123semak imbas

How to Calculate Score Differences for Multiple Websites and Countries in Pandas?

Mengumpul dan Mencari Perbezaan dalam Pelbagai Medan dengan Panda

Dalam bekerja dengan set data, selalunya perlu untuk mengira perbezaan atau perubahan antara nilai dari semasa ke semasa atau merentas kategori yang berbeza. Dalam Panda, anda boleh melakukan pengiraan ini dengan cekap dengan menggunakan fungsi groupby() dan diff().

Dalam senario yang diberikan, anda mempunyai DataFrame dengan data pada pelbagai tapak web dan markahnya di negara yang berbeza. Matlamat anda ialah untuk menentukan perbezaan skor 1/3/5 hari bagi setiap gabungan negara tapak.

Isih dan Pengumpulan Bingkai Data

Untuk bermula, isih DataFrame anda mengikut tapak, negara dan lajur tarikh. Isih memastikan titik data yang serupa dikumpulkan bersama, menjadikannya lebih mudah untuk mengira perbezaan.

<code class="python">df = df.sort_values(by=['site', 'country', 'date'])</code>

Seterusnya, gunakan fungsi groupby() untuk mengumpulkan data mengikut tapak dan negara.

<code class="python">grouped = df.groupby(['site', 'country'])</code>

Mengira Perbezaan

Dengan data yang dikumpulkan, anda kini boleh mengira perbezaan skor menggunakan fungsi diff(). Fungsi ini mengira perbezaan antara baris berturut-turut dalam kumpulan.

<code class="python">df['diff'] = grouped['score'].diff().fillna(0)</code>

Fungsi diff() mengisi nilai yang tiada dengan 0 secara lalai, memastikan set data yang konsisten dan lengkap.

Kerangka Data Terhasil

DataFrame yang dihasilkan akan mengandungi data asal bersama-sama dengan perbezaan skor yang dikira:

         date    site country  score  diff
8  2018-01-01      fb      es    100   0.0
9  2018-01-02      fb      gb    100   0.0
5  2018-01-01      fb      us     50   0.0
6  2018-01-02      fb      us     55   5.0
7  2018-01-03      fb      us    100  45.0
1  2018-01-01  google      ch     50   0.0
4  2018-01-02  google      ch     10 -40.0
0  2018-01-01  google      us    100   0.0
2  2018-01-02  google      us     70 -30.0
3  2018-01-03  google      us     60 -10.0

DataFrame ini memberikan perbezaan skor 1/3/5 hari yang diingini untuk setiap gabungan tapak/negara.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Perbezaan Skor untuk Berbilang Laman Web dan Negara dalam Panda?. 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