Bagaimana untuk Menambah Lajur dengan Kiraan Kumpulan pada Bingkai Data Berkumpulan dalam Panda?

Susan Sarandon
Lepaskan: 2024-10-19 12:21:29
asal
336 orang telah melayarinya

How to Add a Column with Group Counts to a Grouped Dataframe in Pandas?

Cara Menambah Lajur pada Bingkai Data Berkumpulan dalam Panda

Dalam analisis data, selalunya perlu untuk mengumpulkan data dan melakukan pengiraan pada setiap kumpulan. Pandas menawarkan cara yang mudah untuk melakukan ini melalui fungsi kumpulannya. Satu tugas biasa ialah mengira nilai lajur dalam setiap kumpulan dan menambah lajur yang mengandungi kiraan ini pada bingkai data.

Pertimbangkan kerangka data df:

<code class="python">df = pd.DataFrame({'c':[1,1,1,2,2,2,2],'type':['m','n','o','m','m','n','n']})</code>
Salin selepas log masuk

Untuk mengira nilai bagi taip untuk setiap c, kita boleh menggunakan fungsi value_counts pada bingkai data terkumpul:

<code class="python">g = df.groupby('c')['type'].value_counts().reset_index(name='t')</code>
Salin selepas log masuk

Ini mencipta bingkai data baharu g dengan kiraan kumpulan. Untuk menambah lajur pada g dengan saiz setiap kumpulan, kita boleh menggunakan fungsi transformasi:

<code class="python">g['size'] = df.groupby('c')['type'].transform('size')</code>
Salin selepas log masuk

transform menggunakan fungsi untuk setiap kumpulan dalam kerangka data asal dan mengembalikan Siri dengan indeksnya sejajar dengan kerangka data asal. Dalam kes ini, kami menggunakan fungsi saiz untuk mengira bilangan elemen dalam setiap kumpulan dan menetapkannya kepada saiz lajur baharu. Bingkai data g yang terhasil kini akan kelihatan seperti ini:

<code class="python">   c type  t  size
0  1    m  1     3
1  1    n  1     3
2  1    o  1     3
3  2    m  2     4
4  2    n  2     4</code>
Salin selepas log masuk

Ini menunjukkan cara mudah untuk menambah lajur baharu pada bingkai data berkumpulan berdasarkan hasil pengagregatan mengikut kumpulan.

Atas ialah kandungan terperinci Bagaimana untuk Menambah Lajur dengan Kiraan Kumpulan pada Bingkai Data Berkumpulan dalam Panda?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!