Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengira Perbezaan Berkumpulan dalam Panda dengan Pelbagai Medan?

Bagaimana untuk Mengira Perbezaan Berkumpulan dalam Panda dengan Pelbagai Medan?

Mary-Kate Olsen
Lepaskan: 2024-11-01 06:05:31
asal
644 orang telah melayarinya

How to Calculate Grouped Differences in Pandas with Multiple Fields?

Perbezaan Berkumpulan dalam Panda dengan Pelbagai Medan

Dalam situasi ini, kami menyasarkan untuk mengira perbezaan markah untuk gabungan tapak dan negara yang berbeza masa.

Untuk mencapai ini, kami mulakan dengan mengisih kerangka data mengikut tapak, negara dan tarikh:

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

Seterusnya, kami menggunakan kumpulan mengikut dan perbezaan untuk mengira perbezaan dalam setiap tapak dan kumpulan negara:

<code class="python">df['diff'] = df.groupby(['site', 'country'])['score'].diff().fillna(0)</code>
Salin selepas log masuk

Ini menjana perbezaan dalam setiap tapak dan kumpulan negara dan mengisi sebarang nilai yang hilang dengan 0.

Akhir sekali, kami memaparkan keputusan:

<code class="python">print(df)

Output:

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

Sila ambil perhatian bahawa pengisihan mengikut susunan sewenang-wenangnya tidak disokong secara langsung. Untuk senario sedemikian, pertimbangkan untuk menyimpan pesanan anda dalam koleksi dan jadikan lajur anda sebagai kategori. Dengan cara itu, nilai_isih akan sejajar dengan susunan yang disediakan.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Perbezaan Berkumpulan dalam Panda dengan Pelbagai Medan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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