วิธีใช้ตัวดำเนินการ “or” ใน pandas (พร้อมตัวอย่าง)


คุณสามารถใช้ | สัญลักษณ์เป็นตัวดำเนินการ “OR” ในหมีแพนด้า

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

 df[(condition1) | (condition2)]

ตัวอย่างต่อไปนี้แสดงวิธีการใช้ตัวดำเนินการ “OR” นี้ในสถานการณ์ที่แตกต่างกัน

ตัวอย่างที่ 1: ใช้ตัวดำเนินการ “OR” เพื่อกรองแถวตามค่าตัวเลขใน Pandas

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'],
                   ' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

        team points assists rebounds
0 to 25 5 11
1 to 12 7 8
2 B 15 7 10
3 B 14 9 6
4 B 19 12 6
5 B 23 9 5
6 C 25 9 9
7 C 29 4 12

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

 #filter rows where points > 20 or assists = 9
df[(df. points > 20) | (df. assists == 9)]

        team points assists rebounds
0 to 25 5 11
3 B 14 9 6
5 B 23 9 5
6 C 25 9 9
7 C 29 4 12

แถวเดียวที่ส่งคืนคือแถวที่มีค่าคะแนนมากกว่า 20 หรือ ค่าช่วยเหลือเท่ากับ 9

ตัวอย่างที่ 2: ใช้ตัวดำเนินการ “OR” เพื่อกรองแถวตามค่าสตริงใน Pandas

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' position ': ['G', 'G', 'F', 'F', 'C', 'F', 'C', 'C'],
                   ' conference ': ['W', 'W', 'W', 'W', 'E', 'E', 'E', 'E'],
                   ' points ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

  team position conference points
0 AGW 11
1 BGW 8
2 CFW 10
3DFW 6
4 ECE 6
5 FFE 5
6 GCE 9
7 HCE 12

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อกรองแถวใน DataFrame โดยที่ค่าในคอลัมน์ตำแหน่งเท่ากับ G หรือ ค่าในคอลัมน์ตำแหน่งเท่ากับ F หรือ ค่าในคอลัมน์ทีมเท่ากับ H:

 #filter rows based on string values
df[( df.team == ' H ') | (df. position == ' G ') | (df. position == ' F ')]

     team position conference points
0 A G W 11
1 B G W 8
2 C F W 10
3 D F W 6
5 F F E 5
7 H C E 12

แถวเดียวที่ส่งคืนคือแถวที่ตรงตามเงื่อนไขที่ระบุอย่างน้อยหนึ่งในสามเงื่อนไข

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

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

วิธีกรอง Pandas DataFrame ตามค่าคอลัมน์
วิธีกรองแถว Pandas DataFrame ตามวันที่
วิธีกรอง Pandas DataFrame ในหลายเงื่อนไข

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

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