Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menambah Lajur dengan Kiraan Kumpulan pada Bingkai Data Berkumpulan dalam Panda?

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

Susan Sarandon
Susan Sarandonasal
2024-10-19 12:21:29494semak imbas

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>

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>

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>

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>

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!

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