Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mendapatkan Rekod Teratas dengan Cekap daripada Setiap Kumpulan dalam Bingkai Data Pandas?

Bagaimanakah Saya Boleh Mendapatkan Rekod Teratas dengan Cekap daripada Setiap Kumpulan dalam Bingkai Data Pandas?

Barbara Streisand
Lepaskan: 2024-11-25 18:03:10
asal
725 orang telah melayarinya

How Can I Efficiently Get the Top Records from Each Group in a Pandas DataFrame?

Panda: Cekap Mendapatkan Rekod Teratas Dalam Kumpulan

Apabila bekerja dengan Pandas DataFrames, selalunya perlu mengekstrak rekod terkemuka daripada setiap kumpulan . Pendekatan biasa ialah menggunakan fungsi 'groupby' dan 'apply' untuk menghitung rekod dalam setiap kumpulan.

dfN = df.groupby('id').apply(lambda x:x['value'].reset_index()).reset_index()
Salin selepas log masuk

Walau bagaimanapun, wujud pendekatan yang lebih diperkemas:

df.groupby('id').head(2)
Salin selepas log masuk

Ini kaedah secara langsung mengambil rekod paling atas tanpa memerlukan pengiraan perantaraan. Selain itu, DataFrame yang dijana mengekalkan indeks asalnya.

Untuk meratakan MultiIndex yang terhasil, gunakan:

df.groupby('id').head(2).reset_index(drop=True)
Salin selepas log masuk

Ini akan menghasilkan DataFrame berikut:

id value
1 1
1 2
2 1
2 2
3 1
4 1

Sebagai alternatif , anda boleh menggunakan fungsi tetingkap "row_number()" SQL untuk menghitung rekod dalam kumpulan dengan cekap. Walau bagaimanapun, ciri ini tidak tersedia dalam Panda pada masa ini.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Rekod Teratas dengan Cekap daripada Setiap Kumpulan dalam Bingkai Data Pandas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan