Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mencari Baris dengan Nilai Maksimum dalam Kumpulan dalam Bingkai Data Pandas?

Bagaimana untuk Mencari Baris dengan Nilai Maksimum dalam Kumpulan dalam Bingkai Data Pandas?

Susan Sarandon
Susan Sarandonasal
2024-12-23 12:44:14880semak imbas

How to Find Rows with Maximum Values within Groups in a Pandas DataFrame?

Dapatkan Baris dengan Nilai Maksimum dalam Kumpulan Menggunakan Groupby

Mengenal pasti semua baris dalam DataFrame panda yang mempamerkan nilai maksimum dalam lajur tertentu dalam data berkumpulan adalah tugas biasa. Ini boleh dicapai dengan cekap menggunakan operasi kumpulan mengikut dan satu siri transformasi.

Untuk mencari baris dengan kiraan maksimum dalam setiap kumpulan yang ditakrifkan oleh lajur Sp dan Mt, kami mengikuti langkah berikut:

  1. Kira Maksimum Kumpulan: Mula-mula, kira kiraan maksimum bagi setiap kumpulan menggunakan fungsi kumpulan mengikut. Ini akan mengembalikan Siri yang mengandungi nilai kiraan maksimum yang diindeks oleh kekunci kumpulan.
  2. Buat Topeng Boolean: Cipta topeng boolean menggunakan transformasi dan perbandingan kesamaan untuk mengenal pasti baris di mana kiraan sama dengan kumpulan maksimum. Topeng ini akan mempunyai nilai Benar untuk baris dengan kiraan maksimum.
  3. Tapis DataFrame: Gunakan topeng untuk menapis DataFrame, mengekalkan hanya baris dengan kiraan maksimum.

Contoh 1:

Pertimbangkan DataFrame berikut:

   Sp   Mt Value  count
0  MM1  S1   a     3
1  MM1  S1   n       2
2  MM1  S3   cb    5
3  MM2  S3   mk    8
4  MM2  S4   bg    10
5  MM2  S4   dgd     1
6  MM4  S2   rd      2
7  MM4  S2   cb      2
8  MM4  S2   uyi   7

Dengan menggunakan langkah di atas, kami memperoleh output yang diingini:

   Sp   Mt   Value  count
0  MM1  S1   a      3
2  MM1  S3   cb     5
3  MM2  S3   mk     8
4  MM2  S4   bg     10 
8  MM4  S2   uyi    7

Contoh 2:

Untuk Satu lagi DataFrame:

   Sp   Mt   Value  count
4  MM2  S4   bg     10
5  MM2  S4   dgd    1
6  MM4  S2   rd     2
7  MM4  S2   cb     8
8  MM4  S2   uyi    8

Hasilnya akan be:

   Sp   Mt   Value  count
4  MM2  S4   bg     10
7  MM4  S2   cb     8
8  MM4  S2   uyi    8

Nota: Jika berbilang baris dalam kumpulan mempunyai kiraan maksimum yang sama, semua baris tersebut akan dimasukkan ke dalam output. Jika ini tidak diingini, penapisan lanjut mungkin diperlukan.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Baris dengan Nilai Maksimum dalam Kumpulan dalam Bingkai Data Pandas?. 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