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!