วิธีค้นหารายการที่ซ้ำกันใน pandas dataframe (พร้อมตัวอย่าง)


คุณสามารถใช้ฟังก์ชัน ซ้ำ () เพื่อค้นหาค่าที่ซ้ำกันใน DataFrame ของแพนด้า

ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:

 #find duplicate rows across all columns
duplicateRows = df[df. duplicated ()]

#find duplicate rows across specific columns
duplicateRows = df[df. duplicated ([' col1 ',' col2 '])]

ตัวอย่างต่อไปนี้แสดงวิธีการใช้ฟังก์ชันนี้ในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [10, 10, 12, 12, 15, 17, 20, 20],
                   ' assists ': [5, 5, 7, 9, 12, 9, 6, 6]})

#view DataFrame
print (df)

  team points assists
0 to 10 5
1 to 10 5
2 to 12 7
3 to 12 9
4 B 15 12
5 B 17 9
6 B 20 6
7 B 20 6

ตัวอย่างที่ 1: ค้นหาแถวที่ซ้ำกันในทุกคอลัมน์

รหัสต่อไปนี้แสดงวิธีการค้นหาแถวที่ซ้ำกันในคอลัมน์ทั้งหมดของ DataFrame:

 #identify duplicate rows
duplicateRows = df[df. duplicated ()]

#view duplicate rows
duplicateRows

        team points assists
1 to 10 5
7 B 20 6

มีสองแถวที่ซ้ำกันทุกประการกับแถวอื่นๆ ใน DataFrame

โปรดทราบว่าเรายังสามารถใช้อาร์กิวเมนต์ Keep=’last’ เพื่อแสดงบรรทัดแรกที่ซ้ำกันแทนบรรทัดสุดท้าย:

 #identify duplicate rows
duplicateRows = df[df. duplicated (keep=' last ')]

#view duplicate rows
print (duplicateRows)

	team points assists
0 to 10 5
6 B 20 6

ตัวอย่างที่ 2: ค้นหาแถวที่ซ้ำกันในคอลัมน์เฉพาะ

รหัสต่อไปนี้แสดงวิธีการค้นหาแถวที่ซ้ำกันเฉพาะในคอลัมน์ “ทีม” และ “คะแนน” ของ DataFrame:

 #identify duplicate rows across 'team' and 'points' columns
duplicateRows = df[df. duplicated ([' team ',' points '])]

#view duplicate rows
print (duplicateRows)

        team points assists
1 to 10 5
3 to 12 9
7 B 20 6

มีสามแถวโดยที่ค่าในคอลัมน์ “ทีม” และ “คะแนน” เป็นสำเนาที่ตรงกันทุกประการของแถวก่อนหน้า

ตัวอย่างที่ 3: ค้นหาแถวที่ซ้ำกันในคอลัมน์

รหัสต่อไปนี้แสดงวิธีการค้นหาแถวที่ซ้ำกันเฉพาะในคอลัมน์ “ทีม” ของ DataFrame:

 #identify duplicate rows in 'team' column
duplicateRows = df[df. duplicated ([' team '])]

#view duplicate rows
print (duplicateRows)

	team points assists
1 to 10 5
2 to 12 7
3 to 12 9
5 B 17 9
6 B 20 6
7 B 20 6

มีทั้งหมดหกแถวโดยที่ค่าในคอลัมน์ “ทีม” ซ้ำกับแถวก่อนหน้าทุกประการ

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่น ๆ ในแพนด้า:

วิธีลบแถวที่ซ้ำกันใน Pandas
วิธีลบคอลัมน์ที่ซ้ำกันใน Pandas
วิธีเลือกคอลัมน์ตามดัชนีใน Pandas

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

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