Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memilih Baris dengan Nilai Minimum dalam Lajur Tertentu Selepas GroupBy dalam Panda?

Bagaimana untuk Memilih Baris dengan Nilai Minimum dalam Lajur Tertentu Selepas GroupBy dalam Panda?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-28 03:20:30343semak imbas

How to Select Rows with Minimum Value in a Specific Column After GroupBy in Pandas?

Pandas GroupBy dan Memilih Baris dengan Nilai Minimum dalam Lajur Tertentu

Apabila bekerja dengan Pandas DataFrames, selalunya perlu untuk mengumpulkan data mengikut lajur tertentu dan menjalankan operasi pada lajur tersebut. kumpulan. Satu operasi biasa ialah memilih baris dengan nilai minimum dalam lajur tertentu.

Dalam artikel ini, kami akan meneroka pendekatan yang mudah dan cekap untuk mencapai tugas ini tanpa menggunakan MultiIndex.

Pernyataan Masalah:

Diberikan DataFrame dengan lajur A, B dan C, matlamat kami adalah untuk memilih baris dengan nilai minimum dalam lajur B untuk setiap nilai dalam lajur A.

Frame Data Asal:

A B C
1 4 3
1 5 4
1 2 10
2 7 2
2 4 4
2 6 6

Output yang Diingini:

A B C
1 2 10
2 4 4

Penyelesaian:

Kunci untuk menyelesaikan masalah ini terletak pada kaedah idxmin() Pandas. Kaedah ini mengembalikan indeks baris dengan nilai minimum dalam lajur yang ditentukan untuk setiap kumpulan.

Menggunakan groupby() dan idxmin(), kita boleh terus memilih baris yang kita mahu:

<code class="python"># Group the DataFrame by column 'A'
grouped = df.groupby('A')

# Get the index of the rows with the minimum value in column 'B' for each group
min_idx = grouped.B.idxmin()

# Use the index to select the desired rows
result = df.loc[min_idx]</code>

Output:

   A  B   C
2  1  2  10
4  2  4   4

Pendekatan ini cekap memilih baris dengan nilai minimum dalam lajur B untuk setiap kumpulan dalam A, tanpa memerlukan struktur data yang kompleks atau langkah perantaraan.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris dengan Nilai Minimum dalam Lajur Tertentu Selepas GroupBy dalam Panda?. 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