Fungsi drop_duplicates panda ialah alat yang berkuasa untuk mengalih keluar baris pendua daripada DataFrame, tetapi bagaimana jika anda hanya mahu menggugurkan baris yang merupakan pendua merentas subset daripada lajur?
Pertimbangkan DataFrame berikut:
A | B | C |
---|---|---|
foo | 0 | A |
foo | 1 | A |
foo | 1 | B |
bar | 1 | A |
Andaikan anda mahu menjatuhkan baris yang sepadan pada lajur A dan C. Dalam kes ini, anda mahu untuk menggugurkan baris 0 dan 1.
Untuk mencapai ini, anda boleh menggunakan fungsi drop_duplicates dengan parameter keep ditetapkan kepada False. Parameter ini menentukan cara mengendalikan baris pendua. Secara lalai, keep ditetapkan kepada yang pertama, yang bermaksud bahawa kejadian pertama baris pendua akan disimpan. Tetapan keep kepada False akan menggugurkan semua baris pendua.
Kod berikut menunjukkan cara untuk menggugurkan baris dengan nilai pendua dalam lajur A dan C:
import pandas as pd df = pd.DataFrame({"A": ["foo", "foo", "foo", "bar"], "B": [0, 1, 1, 1], "C": ["A", "A", "B", "A"]}) # Drop rows with duplicate values in columns 'A' and 'C' df = df.drop_duplicates(subset=['A', 'C'], keep=False) print(df)
Output:
A B C 2 foo 1 B 3 bar 1 A
Seperti yang anda lihat, baris 0 dan 1 telah digugurkan, kerana ia adalah pendua berkenaan dengan lajur A dan C.
Atas ialah kandungan terperinci Bagaimana untuk Menggugurkan Baris Pendua Merentasi Lajur Tertentu dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!