Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menghapuskan Baris Pendua dalam DataFrame, Menyimpan Hanya Baris dengan Nilai Tertinggi dalam Lajur Tertentu?

Bagaimana untuk Menghapuskan Baris Pendua dalam DataFrame, Menyimpan Hanya Baris dengan Nilai Tertinggi dalam Lajur Tertentu?

Linda Hamilton
Lepaskan: 2024-11-07 05:34:03
asal
551 orang telah melayarinya

How to Eliminate Duplicate Rows in a DataFrame, Keeping Only the Rows with the Highest Values in a Specific Column?

Cara Menghapuskan Pendua mengikut Lajur, Mengekalkan Baris dengan Nilai Tertinggi

Apabila berhadapan dengan nilai pendua dalam satu lajur DataFrame, ia menjadi perlu untuk melaksanakan strategi untuk menghapuskannya. Satu pendekatan adalah untuk mengekalkan hanya baris dengan nilai tertinggi dalam lajur lain.

Pertimbangkan contoh ini DataFrame:

A B
1 10
1 20
2 30
2 40
3 10
Salin selepas log masuk

Matlamatnya adalah untuk mengubah DataFrame ini menjadi:

A B
1 20
2 40
3 10
Salin selepas log masuk

Satu kaedah melibatkan pengisihan DataFrame sebelum menghapuskan pendua:

df.sort_values(by='B', ascending=False).drop_duplicates(subset='A')
Salin selepas log masuk

Walau bagaimanapun, untuk senario yang lebih kompleks yang melibatkan berbilang lajur dan keperluan pengisihan bernuansa, groupby boleh digunakan. Kod di bawah menunjukkan pendekatan ini:

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

Penyelesaian ini mengumpulkan baris mengikut lajur 'A' dan menghasilkan baris dengan nilai maksimum dalam lajur 'B' untuk setiap kumpulan.

Atas ialah kandungan terperinci Bagaimana untuk Menghapuskan Baris Pendua dalam DataFrame, Menyimpan Hanya Baris dengan Nilai Tertinggi 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