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