เพื่อหาสมาชิกที่ซ้ำกัน (common elements) ใน Pandas DataFrame สามารถใช้เมธอด merge() พร้อมระบุคอลัมน์ที่ต้องการเปรียบเทียบได้
ขั้นตอน
สร้าง DataFrame แรก df1
พิมพ์ DataFrame ต้นทาง df1
สร้าง DataFrame ที่สอง df2
พิมพ์ DataFrame ต้นทาง df2
หาสมาชิกที่ซ้ำกันด้วยเมธอด merge()
พิมพ์ DataFrame ที่ซ้ำกัน
ตัวอย่าง
import pandas as pd
df1 = pd.DataFrame({
"x": [5, 2, 7, 0],
"y": [4, 7, 5, 1],
"z": [9, 3, 5, 1]
})
df2 = pd.DataFrame({
"x": [5, 2, 7, 0, 11, 12],
"y": [4, 7, 5, 1, 19, 20],
"z": [9, 3, 5, 1, 29, 30]
})
print("Input DataFrame 1 is:\n", df1)
print("Input DataFrame 2 is:\n", df2)
common = df1.merge(df2, on=['x', 'y', 'z'])
print("Common of DataFrame 1 and 2 is: \n", common)
ผลลัพธ์
Input DataFrame 1 is:
x y z
0 5 4 9
1 2 7 3
2 7 5 5
3 0 1 1
Input DataFrame 2 is:
x y z
0 5 4 9
1 2 7 3
2 7 5 5
3 0 1 1
4 11 19 29
5 12 20 30
Common of DataFrame 1 and 2 is:
x y z
0 5 4 9
1 2 7 3
2 7 5 5
3 0 1 1
คำอธิบาย
นำเข้า pandas สร้าง DataFrame สองตัวที่มีคอลัมน์ x, y, z
df2 มีแถวเพิ่มเติมที่ไม่มีใน df1
ใช้
df1.merge(df2, on=['x','y','z'])รวมเฉพาะแถวที่ค่าทุกคอลัมน์ตรงกัน (inner join)แสดงผล DataFrame ที่ซ้ำกัน (4 แถวแรก)