Mengalih Keluar Baris Pendua Berdasarkan Berbilang Lajur dalam Python Panda
Fungsi drop_duplicates dalam Pandas menyediakan cara yang cekap untuk mengalih keluar baris pendua daripada DataFrame . Walau bagaimanapun, bagaimana jika anda mahu menjatuhkan baris hanya jika ia sepadan dengan set lajur tertentu?
Masalah:
Pertimbangkan DataFrame dengan lajur "A," " B," dan "C." Anda ingin mengalih keluar baris yang nilai dalam lajur "A" dan "C" adalah sama. Dalam erti kata lain, anda perlu mengenal pasti dan menggugurkan baris 0 dan 1 daripada contoh DataFrame ini:
A | B | C | |
---|---|---|---|
0 | foo | 0 | A |
1 | foo | 1 | A |
2 | foo | 1 | B |
3 | bar | 1 | A |
Penyelesaian:
Anda kini boleh mencapai ini dengan mudah menggunakan fungsi drop_duplicates dan parameter subset:
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 keep= menentukan sama ada untuk menggugurkan pendua baris, termasuk kejadian pertama, atau untuk mengecualikannya. Menetapkannya kepada False akan menggugurkan semua pendua.
Hasilnya ialah DataFrame dengan baris 0 dan 1 dialih keluar, meninggalkan hanya baris unik berdasarkan lajur "A" dan "C":
A | B | C | |
---|---|---|---|
0 | foo | 1 | B |
1 | bar | 1 | A |
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar Baris Pendua dalam Panda Berdasarkan Lajur Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!