Menyimpan Lajur Tambahan Semasa Operasi Mengikut Kumpulan
Apabila melakukan operasi kumpulan demi panda, selalunya wajar untuk mengekalkan lajur tambahan sambil mengagregatkan sesuatu lajur. Ini membolehkan manipulasi data yang cekap tanpa memerlukan gabungan atau manipulasi tambahan.
Pertimbangkan contoh yang diberikan, di mana anda ingin mengalih keluar baris dengan nilai minimum untuk lajur "perbezaan" sambil mengekalkan lajur lain, seperti "bahan lain ." Secara lalai, panda menggugurkan lajur tambahan apabila menggunakan groupby dan fungsi pengagregatan seperti min().
Untuk menyelesaikan isu ini, terdapat dua pendekatan yang berkesan:
Kaedah 1: Menggunakan idxmin () untuk Mengenalpasti Indeks Baris
idxmin() mengembalikan indeks baris yang mengandungi nilai minimum lajur yang ditentukan. Dengan memanfaatkan fungsi ini, anda boleh memilih hanya baris yang memenuhi syarat. Kod berikut menunjukkan pendekatan ini:
<code class="python">df.loc[df.groupby("item")["diff"].idxmin()]</code>
Kaedah 2: Menyusun dan Memilih Elemen Pertama
Kaedah lain melibatkan mengisih kerangka data mengikut lajur "perbezaan" dan memilih elemen pertama setiap kumpulan. Ini memastikan anda memperoleh baris dengan nilai "perbezaan" minimum sambil mengekalkan lajur lain. Kod berikut mempamerkan kaedah ini:
<code class="python">df.sort_values("diff").groupby("item", as_index=False).first()</code>
Dalam kedua-dua pendekatan, hasilnya ialah kerangka data dengan hanya baris dengan "perbezaan" mempunyai nilai minimumnya, sambil mengekalkan lajur "bahan lain". Indeks baris mungkin berbeza antara kedua-dua kaedah, tetapi kandungannya tetap sama.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan Lajur Tambahan Semasa Melaksanakan Operasi Kumpulan mengikut Pandas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!