Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah anda mencari baris dengan nilai maksimum dalam lajur tertentu Pandas DataFrame?
Mencari Nilai Maksimum dalam Pandas DataFrames
Dalam panda, mengenal pasti baris yang memegang nilai maksimum untuk lajur tertentu memerlukan pendekatan yang mudah.
Menggunakan panda.DataFrame.idxmax
Perpustakaan panda menawarkan fungsi idxmax yang memenuhi keperluan ini secara langsung. Ia mendapatkan semula label indeks baris dengan nilai maksimum dalam lajur tertentu. Pertimbangkan contoh berikut:
<code class="python">import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(5, 3), columns=['A', 'B', 'C']) print(df) A B C 0 1.232853 -1.979459 -0.573626 1 0.140767 0.394940 1.068890 2 0.742023 1.343977 -0.579745 3 2.125299 -0.649328 -0.211692 4 -0.187253 1.908618 -1.862934 print(df['A'].idxmax()) # row index with maximum value in column 'A' print(df['B'].idxmax()) # row index with maximum value in column 'B' print(df['C'].idxmax()) # row index with maximum value in column 'C' # Output 3 # row index 3 4 # row index 4 1 # row index 1</code>
Pendekatan Alternatif Menggunakan numpy.argmax
Sebagai alternatif, anda boleh menggunakan numpy.argmax untuk mencapai hasil yang sama. Ia mengembalikan indeks kedudukan dan bukannya indeks label. Perlu diingat bahawa argmax pernah dirujuk sebagai idxmax, tetapi kemudiannya digantikan dengan yang terakhir.
Konteks Sejarah: Label Baris lwn. Indeks Integer
Dalam panda versi terdahulu, label baris diwakili oleh indeks integer dan bukannya label. Amalan ini, walaupun kini sudah lapuk, berterusan dalam banyak aplikasi yang biasa digunakan.
Untuk menyesuaikan diri dengan peralihan ke arah indeks baris berlabel, fungsi argmax telah diubah suai untuk mengembalikan indeks kedudukan dalam indeks baris yang mengandungi elemen maksimum . Perubahan ini bertujuan untuk mengurangkan kekeliruan yang timbul daripada menggunakan indeks integer, terutamanya dalam situasi seperti label baris pendua.
Mengendalikan Label Baris Pendua
Adalah penting untuk ambil perhatian bahawa idxmax kembali label baris, bukan integer. Dalam kes dengan label baris pendua, penggunaan idxmax menjadi tidak mencukupi. Untuk mendapatkan indeks kedudukan dalam keadaan sedemikian, anda mungkin perlu mengekstraknya secara manual daripada label indeks.
Atas ialah kandungan terperinci Bagaimanakah anda mencari baris dengan nilai maksimum dalam lajur tertentu Pandas DataFrame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!