นุ่น: วิธีเลือกแถวตามค่าคอลัมน์
คุณสามารถใช้วิธีใดวิธีหนึ่งต่อไปนี้เพื่อเลือกแถวใน DataFrame แพนด้าตามค่าคอลัมน์:
วิธีที่ 1: เลือกแถวที่คอลัมน์เท่ากับค่าเฉพาะ
df. loc [df[' col1 '] == value]
วิธีที่ 2: เลือกแถวที่พบค่าคอลัมน์ในรายการค่า
df. loc [df[' col1 ']. isin ([value1, value2, value3, ...])]
วิธีที่ 3: เลือกแถวตามเงื่อนไขหลายคอลัมน์
df. loc [(df[' col1 '] == value) & (df[' col2 '] < value)]
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีกับ DataFrame แพนด้าต่อไปนี้:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
' points ': [5, 7, 7, 9, 12, 9, 9, 4],
' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12],
' blocks ': [4, 7, 7, 6, 5, 8, 9, 10]})
#view DataFrame
df
team points rebound blocks
0 A 5 11 4
1 To 7 8 7
2 B 7 10 7
3 B 9 6 6
4 B 12 6 5
5 C 9 5 8
6 C 9 9 9
7 C 4 12 10
วิธีที่ 1: เลือกแถวที่คอลัมน์เท่ากับค่าเฉพาะ
รหัสต่อไปนี้แสดงวิธีการเลือกแต่ละแถวของ DataFrame โดยที่คอลัมน์ “points” เท่ากับ 7:
#select rows where 'points' column is equal to 7
df. loc [df[' points '] == 7]
team points rebound blocks
1 To 7 8 7
2 B 7 10 7
วิธีที่ 2: เลือกแถวที่พบค่าคอลัมน์ในรายการค่า
รหัสต่อไปนี้แสดงวิธีการเลือกแต่ละแถวของ DataFrame โดยที่คอลัมน์ “จุด” เท่ากับ 7, 9 หรือ 12:
#select rows where 'points' column is equal to 7
df. loc [df[' points ']. isin ([7, 9, 12])]
team points rebound blocks
1 To 7 8 7
2 B 7 10 7
3 B 9 6 6
4 B 12 6 5
5 C 9 5 8
6 C 9 9 9
วิธีที่ 3: เลือกแถวตามเงื่อนไขหลายคอลัมน์
รหัสต่อไปนี้แสดงวิธีการเลือกแต่ละแถวของ DataFrame โดยที่คอลัมน์ “ทีม” เท่ากับ “B” และคอลัมน์ “คะแนน” มากกว่า 8:
#select rows where 'team' is equal to 'B' and points is greater than 8
df. loc [(df[' team '] == ' B ') & (df[' points '] > 8)]
team points rebound blocks
3 B 9 6 6
4 B 12 6 5
โปรดทราบว่าจะส่งกลับเฉพาะสองบรรทัดที่ทีมเท่ากับ “B” และ “คะแนน” มากกว่า 8
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่น ๆ ในแพนด้า:
วิธีเลือกแถวตามดัชนีใน Pandas
วิธีเลือกแถวเดี่ยวใน Pandas
วิธีเลือกแถวที่มีค่าปรากฏในคอลัมน์ใด ๆ ใน Pandas