Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Mendapatkan Baris Pertama Setiap Kumpulan dalam Pandas DataFrame dengan Berbilang Lajur?
Dapatkan Baris Pertama Setiap Kumpulan dalam Pandas DataFrame dengan Berbilang Lajur
Dalam panda DataFrame, selalunya perlu mendapatkan semula yang pertama baris setiap kumpulan selepas mengumpulkan DataFrame berdasarkan lajur tertentu. Tugasan ini boleh dicapai dengan cekap menggunakan kaedah terbina dalam panda.
Untuk mencapai ini, seseorang boleh menggunakan kaedah .first() untuk mendapatkan elemen pertama (bukan null) bagi setiap kumpulan. Sintaks untuk first() adalah seperti berikut:
df.groupby('group_columns').first()
Dalam contoh anda, anda ingin mengumpulkan DataFrame mengikut kedua-dua lajur 'id' dan 'value' dan dapatkan baris pertama setiap kumpulan. Anda boleh menggunakan kod berikut:
df.groupby(['id', 'value']).first()
Ini akan menghasilkan keputusan berikut:
id | value |
---|---|
1 | first |
2 | first |
3 | first |
4 | second |
5 | first |
6 | first |
7 | fourth |
Jika anda lebih suka mempunyai 'id' sebagai lajur dalam DataFrame yang terhasil, anda boleh tetapkan semula indeks menggunakan reset_index() seperti yang ditunjukkan di bawah:
df.groupby(['id', 'value']).first().reset_index()
Output operasi ini akan be:
id | value |
---|---|
1 | first |
2 | first |
3 | first |
4 | second |
5 | first |
6 | first |
7 | fourth |
Selain itu, jika anda ingin mendapatkan semula n baris pertama dalam setiap kumpulan, anda boleh menggunakan kaedah .head() dan bukannya first(). Sebagai contoh, untuk mendapatkan dua baris pertama setiap kumpulan, anda boleh menggunakan:
df.groupby('id').head(2).reset_index(drop=True)
Ini akan mengembalikan DataFrame berikut:
id | value |
---|---|
1 | first |
1 | second |
2 | first |
2 | second |
3 | first |
3 | third |
4 | second |
4 | fifth |
5 | first |
6 | first |
6 | second |
7 | fourth |
7 | fifth |
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Baris Pertama Setiap Kumpulan dalam Pandas DataFrame dengan Berbilang Lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!