Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengekalkan Lajur Lain Semasa Mencari Minimum dalam Bingkai Data Pandas Berkumpulan?
Menyimpan Lajur Lain Semasa Operasi Minimum Berkumpulan dalam Pandas DataFrame
Apabila menggunakan fungsi kumpulan mengikut untuk mengumpulkan data mengikut lajur tertentu dan melaksanakan operasi pengagregatan seperti mencari minimum, lajur lain dalamDataFrame mungkin digugurkan secara tidak sengaja.
Untuk mengekalkan lajur tambahan semasa melakukan operasi minimum pada lajur berkumpulan, pertimbangkan kaedah berikut:
Kaedah 1 : Menggunakan idxmin()
idxmin() mengembalikan indeks nilai minimum dalam setiap kumpulan. Dengan menggunakan ini, anda boleh memilih baris yang dikehendaki sahaja:
<code class="python">result = df.loc[df.groupby("item")["diff"].idxmin()]</code>
Kaedah 2: Menyusun dan Mendapatkan Elemen Pertama
Sebagai alternatif, anda boleh mengisih kerangka data mengikut lajur minimum sebelum melaksanakan operasi kumpulan mengikut dan mengekstrak baris pertama dalam setiap kumpulan:
<code class="python">result = df.sort_values("diff").groupby("item", as_index=False).first()</code>
Kedua-dua kaedah akan menghasilkan output yang diingini, mengekalkan lajur bahan lain sambil menapis baris berdasarkan nilai perbezaan minimum:
item diff otherstuff 0 1 1 2 1 2 -6 2 2 3 0 0
Perhatikan bahawa indeks yang terhasil mungkin berbeza antara kedua-dua kaedah, walaupun kandungan baris kekal sama.
Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Lajur Lain Semasa Mencari Minimum dalam Bingkai Data Pandas Berkumpulan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!