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

Bagaimana untuk Mendapatkan Baris Pertama Setiap Kumpulan dalam Pandas DataFrame dengan Berbilang Lajur?

DDD
DDDasal
2024-11-10 04:54:02487semak imbas

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

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!

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