Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memilih Baris dengan Nilai Lajur Minimum dalam Pandas DataFrames dengan Cekap?

Bagaimana untuk Memilih Baris dengan Nilai Lajur Minimum dalam Pandas DataFrames dengan Cekap?

Linda Hamilton
Linda Hamiltonasal
2024-10-26 17:36:02360semak imbas

How to Efficiently Select Rows with Minimum Column Values in Pandas DataFrames?

Pandas GroupBy dan Cekap Memilih Baris dengan Nilai Lajur Minimum

Apabila bekerja dengan Pandas DataFrames, memilih baris berdasarkan nilai lajur tertentu adalah perkara biasa tugasan. Dalam senario di mana anda perlu mengekstrak baris dengan nilai minimum dalam lajur tertentu, terdapat cara yang mudah dan cekap untuk mencapainya.

Untuk menggambarkan, pertimbangkan DataFrame berikut:

df = pd.DataFrame({'A': [1, 1, 1, 2, 2, 2],
                   'B': [4, 5, 2, 7, 4, 6],
                   'C': [3, 4, 10, 2, 4, 6]})

Untuk memilih baris dengan nilai minimum dalam lajur B bagi setiap nilai A, kita boleh menggunakan kaedah groupby dan idxmin:

minimum_rows = df.loc[df.groupby('A').B.idxmin()]

Operasi ini mengumpulkan DataFrame mengikut lajur A dan mengenal pasti indeks baris dengan nilai minimum dalam lajur B bagi setiap kumpulan. Kaedah loc kemudian mengekstrak baris ini untuk mencipta minimum_rows DataFrame.

   A  B   C
2  1  2  10
4  2  4   4

Jika anda ingin menetapkan semula indeks untuk memastikan integer berturut-turut, anda boleh menggunakan kaedah reset_index:

minimum_rows.reset_index(drop=True)

   A  B   C
0  1  2  10
1  2  4   4

Dengan memanfaatkan kaedah groupby dan idxmin, anda mempunyai pendekatan yang cekap untuk memilih baris dengan nilai minimum dalam lajur tertentu, tanpa memerlukan MultiIndex atau operasi yang kompleks.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris dengan Nilai Lajur Minimum dalam Pandas DataFrames dengan Cekap?. 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