นุ่น: วิธีค้นหาแถวแรกที่ตรงตามเกณฑ์


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

 #get first row where value in 'team' column is equal to 'B'
df[df. team == ' B ']. iloc [0]

#get index of first row where value in 'team' column is equal to 'B'
df[df. team == ' B ']. index [0]

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'],
                   ' points ': [18, 13, 19, 14, 24, 21, 20, 28],
                   ' assists ': [5, 7, 17, 9, 12, 9, 5, 12]})

#view DataFrame
print (df)

  team points assists
0 to 18 5
1 to 13 7
2 A 19 17
3 B 14 9
4 B 24 12
5 C 21 9
6 C 20 5
7 C 28 12

ตัวอย่างที่ 1: ค้นหาแถวแรกที่ตรงตามเกณฑ์

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อค้นหาแถวแรกที่ค่าในคอลัมน์ ทีม เท่ากับ “B”:

 #find first row where team is equal to 'B'
df[df. team == ' B ']. iloc [0]

team B
points 14
assists 9
Name: 3, dtype: object

#find index of first row where team is equal to 'B'
df[df. team == ' B ']. index [0]

3

เราจะเห็นว่าแถวแรกที่ค่าในคอลัมน์ ทีม เท่ากับ “B” อยู่ที่ตำแหน่งดัชนี 3

ตัวอย่างที่ 2: ค้นหาแถวแรกที่ตรงกับเกณฑ์หลายข้อ

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อค้นหาแถวแรกที่ค่าในคอลัมน์ คะแนน มากกว่า 15 และค่าในคอลัมน์ ช่วยเหลือ มากกว่า 10:

 #find first row where points > 15 and assists > 10
df[(df. points > 15) & (df. assists > 10)]. iloc [0]

team A
points 19
assists 17
Name: 2, dtype: object

#find index of first row where points > 15 and assists > 10
df[(df. points > 15) & (df. assists > 10)]. index [0]

2

เราจะเห็นว่าแถวแรกที่ค่าในคอลัมน์ คะแนน มากกว่า 15 และค่าในคอลัมน์ ช่วยเหลือ มากกว่า 10 อยู่ที่ตำแหน่งดัชนี 2

ตัวอย่างที่ 3: ค้นหาแถวแรกที่ตรงกับเกณฑ์ข้อใดข้อหนึ่งจากหลายเกณฑ์

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อค้นหาแถวแรกที่ค่าในคอลัมน์ คะแนน มากกว่า 15 หรือค่าในคอลัมน์ ช่วยเหลือ มากกว่า 10:

 #find first row where points > 15 or assists > 10
df[(df. points > 15) | (df. assists > 10)]. iloc [0]

team A
points 18
assists 5
Name: 0, dtype: object

#find index of first row where points > 15 or assists > 10
df[(df. points > 15) | (df. assists > 10)]. index [0]

0

เราจะเห็นว่าแถวแรกที่ค่าในคอลัมน์ จุด มากกว่า 15 หรือค่าในคอลัมน์ ช่วยเหลือ มากกว่า 10 อยู่ที่ตำแหน่งดัชนี 0

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

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

วิธีเลือกแถวที่ไม่มีค่า NaN ใน Pandas
วิธีเลือกแถวตามค่าคอลัมน์ใน Pandas
วิธีเลือกแถวเดี่ยวใน Pandas

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

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