Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengalih Keluar Baris Pendua Merentasi Berbilang Lajur dalam Panda?

Bagaimana untuk Mengalih Keluar Baris Pendua Merentasi Berbilang Lajur dalam Panda?

DDD
DDDasal
2024-12-19 10:24:15339semak imbas

How to Remove Duplicate Rows Across Multiple Columns in Pandas?

Mengalih Keluar Pendua Merentasi Berbilang Lajur dalam Python Panda

Fungsi drop_duplicates dalam Pandas menyediakan cara yang mudah untuk mengalih keluar baris pendua berdasarkan lajur yang ditentukan. Walau bagaimanapun, bagaimana jika anda mahu menggugurkan pendua bukan merentasi satu lajur tetapi sebaliknya subset berbilang lajur?

Untuk mencapai matlamat ini, kita boleh memanfaatkan kuasa drop_duplicates bersama-sama dengan parameter subset. Dengan menyatakan senarai lajur untuk menyemak pendua, anda boleh memastikan baris yang sepadan pada mana-mana gabungan lajur tersebut dihapuskan.

Pertimbangkan contoh berikut:

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

Matlamat kami ialah untuk menggugurkan baris yang sepadan pada kedua-dua lajur A dan C. Ini akan mengalih keluar baris 0 dan 1, kerana ia mempunyai nilai yang sama dalam kedua-dua lajur.

Menggunakan drop_duplicates, kita boleh melakukannya dengan kod berikut:

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)

Parameter subset menentukan lajur untuk digunakan untuk pengesanan pendua. Parameter keep, ditetapkan kepada False, memastikan bahawa semua baris pendua dialih keluar.

DataFrame yang terhasil adalah seperti berikut:

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

Baris 0 dan 1 telah digugurkan kerana ia sepadan pada kedua-dua A dan C, menyatukan DataFrame dengan berkesan berdasarkan lajur tersebut.

Atas ialah kandungan terperinci Bagaimana untuk Mengalih Keluar Baris Pendua Merentasi Berbilang Lajur dalam Panda?. 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