Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengalih Keluar Baris Pendua Merentasi Lajur Tertentu dalam Panda dengan Cekap?

Bagaimanakah Saya Boleh Mengalih Keluar Baris Pendua Merentasi Lajur Tertentu dalam Panda dengan Cekap?

DDD
DDDasal
2024-12-12 19:39:16315semak imbas

How Can I Efficiently Remove Duplicate Rows Across Specific Columns in Pandas?

Menggugurkan Baris Pendua merentas Berbilang Lajur dalam Python Panda

Fungsi drop_duplicates panda menghapuskan baris pendua daripada DataFrame, alat yang tidak ternilai untuk pembersihan data . Untuk memanjangkan fungsi ini, seseorang boleh menentukan lajur untuk menyemak keunikan.

Sebagai contoh, pertimbangkan DataFrame berikut:

    A   B   C
0   foo 0   A
1   foo 1   A
2   foo 1   B
3   bar 1   A

Andaikan anda ingin mengalih keluar baris yang mempunyai nilai yang sama dalam lajur 'A' dan 'C.' Dalam kes ini, baris 0 dan 1 akan dihapuskan.

Sebelum ini, tugasan ini memerlukan penapisan manual atau operasi yang kompleks. Walau bagaimanapun, dengan fungsi drop_duplicates yang dipertingkatkan oleh panda, ia kini mudah. Pengenalan parameter keep membolehkan anda mengawal cara pendua dikendalikan.

Untuk menjatuhkan baris yang sepadan pada lajur tertentu, gunakan parameter subset. Dengan menetapkan keep kepada False, anda mengarahkan panda untuk menghapuskan semua baris pendua:

import pandas as pd
df = pd.DataFrame({"A":["foo", "foo", "foo", "bar"], "B":[0,1,1,1], "C":["A","A","B","A"]})
df.drop_duplicates(subset=['A', 'C'], keep=False)

Output:

    A   B   C
2   foo 1   B
3   bar 1   A

Seperti yang anda lihat, baris 0 dan 1 berjaya dialih keluar, hanya meninggalkan baris yang unik berdasarkan nilai dalam lajur 'A' dan 'C.'

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Baris Pendua Merentasi Lajur Tertentu dalam Panda dengan Cekap?. 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