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

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *