วิธีนับจำนวนซ้ำในแพนด้า: พร้อมตัวอย่าง
คุณสามารถใช้วิธีการต่อไปนี้เพื่อนับรายการที่ซ้ำกันใน DataFrame ของแพนด้า:
วิธีที่ 1: นับค่าที่ซ้ำกันในคอลัมน์
len (df[' my_column ']) - len (df[' my_column ']. drop_duplicates ())
วิธีที่ 2: นับแถวที่ซ้ำกัน
len (df) -len ( df.drop_duplicates ())
วิธีที่ 3: นับรายการที่ซ้ำกันสำหรับแต่ละแถวที่ไม่ซ้ำ
df. groupby ( df.columns.tolist (), as_index= False ) . size ()
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' position ': ['G', 'G', 'G', 'F', 'G', 'G', 'F', 'F'], ' points ': [5, 5, 8, 10, 5, 7, 10, 10]}) #view DataFrame print (df) team position points 0 AG 5 1 GA 5 2 AG 8 3 AF 10 4 BG 5 5 BG 7 6 BF 10 7 BF 10
ตัวอย่างที่ 1: นับค่าที่ซ้ำกันในคอลัมน์
รหัสต่อไปนี้แสดงวิธีนับจำนวนค่าที่ซ้ำกันในคอลัมน์ คะแนน :
#count duplicate values in points column
len (df[' points '])- len (df[' points ']. drop_duplicates ())
4
เราจะเห็นว่ามีค่าซ้ำกัน 4 ค่าในคอลัมน์ คะแนน
ตัวอย่างที่ 2: นับแถวที่ซ้ำกัน
รหัสต่อไปนี้แสดงวิธีการนับจำนวนแถวที่ซ้ำกันใน DataFrame:
#count number of duplicate rows
len (df) -len ( df.drop_duplicates ())
2
เราจะเห็นว่ามี 2 แถวที่ซ้ำกันใน DataFrame
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อแสดง 2 บรรทัดที่ซ้ำกันนี้:
#display duplicated rows
df[df. duplicated ()]
team position points
1 A G 5
7 B F 10
ตัวอย่างที่ 3: นับรายการที่ซ้ำกันสำหรับแต่ละแถวที่ไม่ซ้ำ
รหัสต่อไปนี้แสดงวิธีการนับจำนวนรายการที่ซ้ำกันสำหรับแต่ละแถวที่ไม่ซ้ำใน DataFrame:
#display number of duplicates for each unique row
df. groupby ( df.columns.tolist (), as_index= False ) . size ()
team position points size
0 A F 10 1
1 A G 5 2
2 A G 8 1
3 B F 10 2
4 B G 5 1
5 B G 7 1
คอลัมน์ ขนาด จะแสดงจำนวนรายการที่ซ้ำกันสำหรับแต่ละแถวที่ไม่ซ้ำ
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่น ๆ ในแพนด้า:
วิธีลบแถวที่ซ้ำกันใน Pandas
วิธีลบคอลัมน์ที่ซ้ำกันใน Pandas
วิธีเลือกคอลัมน์ตามดัชนีใน Pandas