วิธีเปรียบเทียบสามคอลัมน์ใน pandas (พร้อมตัวอย่าง)


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อเปรียบเทียบค่าของสามคอลัมน์ในแพนด้า:

 df[' all_matching '] = df. apply ( lambda x: x.col1 == x.col2 == x.col3 , axis = 1 )

ไวยากรณ์นี้สร้างคอลัมน์ใหม่ที่เรียกว่า all_matching ซึ่งจะส่งคืน True หากคอลัมน์ทั้งหมดมีค่าที่ตรงกัน มิฉะนั้นจะส่งคืน ค่า False

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

ตัวอย่าง: เปรียบเทียบสามคอลัมน์ใน Pandas

สมมติว่าเรามี DataFrame แพนด้าต่อไปนี้ซึ่งมีสามคอลัมน์:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' A ': [4, 0, 3, 3, 6, 8, 7, 9, 12],
                   ' B ': [4, 2, 3, 5, 6, 4, 7, 7, 12],
                   ' C ': [4, 0, 3, 5, 5, 10, 7, 9, 12]})

#view DataFrame
print (df)

    ABC
0 4 4 4
1 0 2 0
2 3 3 3
3 3 5 5
4 6 6 5
5 8 4 10
6 7 7 7
7 9 7 9
8 12 12 12

เราสามารถใช้โค้ดต่อไปนี้เพื่อสร้างคอลัมน์ใหม่ที่เรียกว่า all_matching ซึ่งจะคืนค่า True หากทั้งสามคอลัมน์ตรงกันในแถวที่กำหนด และ คืนค่าเป็น False หากไม่ตรงกัน:

 #create new column that displays whether or not all column values match
df[' all_matching '] = df. apply ( lambda x: x. A == x. B == x. C , axis = 1 )

#view updated DataFrame
print (df)

    ABC all_matching
0 4 4 4 True
1 0 2 0 False
2 3 3 3 True
3 3 5 5 False
4 6 6 5 False
5 8 4 10 False
6 7 7 7 True
7 9 7 9 False
8 12 12 12 True

คอลัมน์ใหม่ที่เรียกว่า all_matching ระบุว่าค่าในสามคอลัมน์ตรงกันในแถวที่กำหนดหรือไม่

ตัวอย่างเช่น:

  • ค่าทั้งสามค่าตรงกันในแถวแรก ดังนั้นจะส่งคืน ค่า True
  • ค่าบางค่าไม่ตรงกันในบรรทัดที่สอง ดังนั้นจะส่งคืนค่า False

และอื่นๆ

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

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

วิธีเปลี่ยนชื่อคอลัมน์ใน Pandas
วิธีเพิ่มคอลัมน์ใน Pandas DataFrame
วิธีเปลี่ยนลำดับคอลัมน์ใน Pandas DataFrame

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

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