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!