Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mendapatkan Baris Pertama Setiap Kumpulan dalam Pandas DataFrame?

Bagaimana untuk Mendapatkan Baris Pertama Setiap Kumpulan dalam Pandas DataFrame?

Susan Sarandon
Susan Sarandonasal
2024-11-10 15:06:02377semak imbas

How to Get the First Row of Each Group in a Pandas DataFrame?

Mendapatkan Baris Pertama Setiap Kumpulan dalam Pandas DataFrame

Dalam panda, operasi kumpulan mengikut membolehkan pengagregatan dan manipulasi data yang cekap merentas kategori berbeza . Walau bagaimanapun, mendapatkan semula baris tertentu dalam setiap kumpulan boleh menjadi satu cabaran. Artikel ini akan menunjukkan cara mendapatkan semula baris pertama setiap kumpulan apabila mengumpulkan DataFrame panda.

Masalah:

Kami mempunyai DataFrame dengan dua lajur, "id" dan "nilai." Kami mahu mengumpulkan DataFrame mengikut "id," "nilai," dan mendapatkan baris pertama setiap kumpulan.

Hasil Jangkaan:

id value
1 first
2 first
3 first
4 second
5 first
6 first
7 fourth

Penyelesaian:

Untuk mendapatkan semula baris pertama setiap kumpulan, kita boleh menggunakan .first() kaedah. Dengan menghantar "id" sebagai kunci kumpulan, .first() memilih elemen bukan nol pertama untuk setiap kumpulan "id" unik.

df.groupby('id').first()

Ini akan menghasilkan output yang diingini, dengan baris pertama setiap kumpulan "id" dipaparkan.

Mendapatkan Pengecam sebagai Lajur:

Jika kita perlukan pengecam sebagai lajur, kita boleh menggunakan .reset_index().

df.groupby('id').first().reset_index()

Ini menghasilkan:

id value
1 first
2 first
3 first
4 second
5 first
6 first
7 fourth

Mengambil Berbilang Baris:

Untuk mendapatkan semula n baris pertama setiap kumpulan, kita boleh gunakan .head().

df.groupby('id').head(2).reset_index(drop=True)

Ini membolehkan kami mendapatkan semula bilangan baris yang ditentukan dari permulaan setiap kumpulan.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Baris Pertama Setiap Kumpulan dalam Pandas DataFrame?. 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