Pandas: วิธีลบรายการที่ซ้ำกันในหลายคอลัมน์
คุณสามารถใช้วิธีการต่อไปนี้เพื่อลบแถวที่ซ้ำกันในหลายคอลัมน์ใน DataFrame ของแพนด้า:
วิธีที่ 1: ลบรายการที่ซ้ำกันในคอลัมน์ทั้งหมด
df. drop_duplicates ()
วิธีที่ 2: ลบรายการที่ซ้ำกันในคอลัมน์ที่ระบุ
df. drop_duplicates ([' column1 ',' column3 '])
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:
import pandas as pd #createDataFrame df = pd. DataFrame ({' region ': ['East', 'East', 'East', 'West', 'West', 'West'], ' store ': [1, 1, 2, 1, 2, 2], ' sales ': [5, 5, 7, 9, 12, 8]}) #view DataFrame print (df) region store sales 0 East 1 5 1 East 1 5 2 East 2 7 3 West 1 9 4 West 2 12 5 West 2 8
ตัวอย่างที่ 1: ลบรายการที่ซ้ำกันในทุกคอลัมน์
รหัสต่อไปนี้แสดงวิธีลบแถวที่มีค่าซ้ำกันในทุกคอลัมน์:
#drop rows that have duplicate values across all columns
df. drop_duplicates ()
region store sales
0 East 1 5
2 East 2 7
3 West 1 9
4 West 2 12
5 West 2 8
แถวที่ตำแหน่งดัชนี 1 มีค่าเท่ากันในทุกคอลัมน์กับแถวที่ตำแหน่งดัชนี 0 จึงถูกลบออกจาก DataFrame
ตามค่าเริ่มต้น แพนด้าจะเก็บบรรทัดแรกไว้เหมือนกัน อย่างไรก็ตาม คุณสามารถใช้อาร์กิวเมนต์ Keep เพื่อระบุให้เก็บบรรทัดที่ซ้ำกันสุดท้ายได้:
#drop rows that have duplicate values across all columns (keep last duplicate)
df. drop_duplicates (keep=' last ')
region store sales
1 East 1 5
2 East 2 7
3 West 1 9
4 West 2 12
5 West 2 8
ตัวอย่างที่ 2: ลบรายการที่ซ้ำกันในคอลัมน์ที่ระบุ
คุณสามารถใช้รหัสต่อไปนี้เพื่อลบแถวที่มีค่าซ้ำกันเฉพาะใน ภูมิภาค และคอลัมน์ ร้านค้า :
#drop rows that have duplicate values across region and store columns
df. drop_duplicates ([' region ',' store '])
region store sales
0 East 1 5
2 East 2 7
3 West 1 9
4 West 2 12
โดยรวมแล้วมีการลบสองแถวออกจาก DataFrame เนื่องจากมีค่าที่ซ้ำกันในคอลัมน์ Region และ Store
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับฟังก์ชัน drop_duplicates() ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่น ๆ ในแพนด้า:
วิธีค้นหารายการที่ซ้ำกันในแพนด้า
วิธีลบคอลัมน์ที่ซ้ำกันใน Pandas
วิธีลบแถวแรกใน Pandas DataFrame