Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Menyimpan Lajur Tambahan Semasa Melaksanakan Operasi Kumpulan mengikut Pandas?

Bagaimanakah Saya Boleh Menyimpan Lajur Tambahan Semasa Melaksanakan Operasi Kumpulan mengikut Pandas?

Barbara Streisand
Barbara Streisandasal
2024-10-25 06:13:29409semak imbas

How Can I Keep Additional Columns While Performing Groupby Operations in Pandas?

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!

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