Bagaimana untuk mengalih keluar Baris Pendua dalam DataFrame Sambil Mengutamakan Nilai Maksimum dalam Lajur Tertentu?

Susan Sarandon
Lepaskan: 2024-11-11 06:16:02
asal
440 orang telah melayarinya

How to Remove Duplicate Rows in a DataFrame While Prioritizing Maximum Values in a Specific Column?

Mengalih keluar Baris Pendua Sambil Mengutamakan Nilai Maksimum dalam Lajur B

Berurusan dengan baris pendua dalam DataFrame selalunya boleh menimbulkan cabaran. Dalam kes ini, objektifnya adalah untuk menghapuskan baris pendua berdasarkan nilai dalam lajur A dan mengekalkan baris dengan nilai tertinggi dalam lajur B.

Untuk mencapai ini, gabungan operasi boleh digunakan. Pertama, DataFrame boleh diisih mengikut lajur B dalam tertib menurun menggunakan fungsi sort_values. Ini menyusun baris dengan nilai tertinggi untuk lajur B di bahagian atas.

df = df.sort_values('B', ascending=False)
Salin selepas log masuk

Seterusnya, fungsi drop_duplicates boleh digunakan untuk mengalih keluar baris pendua berdasarkan nilai dalam lajur A. Walau bagaimanapun, untuk mengekalkan keutamaan baris, parameter keep ditetapkan untuk bertahan. Ini memastikan bahawa baris dengan kejadian terkini (biasanya baris dengan nilai tertinggi dalam lajur B) dikekalkan.

df = df.drop_duplicates(subset='A', keep='last')
Salin selepas log masuk

Sebagai alternatif, fungsi kumpulan mengikut digabungkan dengan aplikasi boleh dimanfaatkan untuk menyelesaikan tugas. Pendekatan ini mengumpulkan DataFrame mengikut lajur A dan menggunakan fungsi lambda pada setiap kumpulan. Dalam fungsi lambda, kaedah idxmax digunakan untuk mengenal pasti indeks baris dengan nilai maksimum untuk lajur B. DataFrame yang terhasil mengandungi hanya baris yang diberikan kepada nilai maksimum tersebut.

df = df.groupby('A', group_keys=False).apply(lambda x: x.loc[x.B.idxmax()])
Salin selepas log masuk

Menggunakan kaedah ini mencapai hasil yang diingini untuk mengalih keluar baris pendua berdasarkan lajur A sambil mengekalkan baris dengan nilai tertinggi dalam lajur B.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar Baris Pendua dalam DataFrame Sambil Mengutamakan Nilai Maksimum dalam Lajur Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan