Pandas: dapatkan indeks baris yang kolomnya cocok dengan nilainya
Anda dapat menggunakan sintaks berikut untuk mendapatkan indeks baris dalam pandas DataFrame yang kolomnya cocok dengan nilai tertentu:
df. index [df[' column_name ']== value ]. tolist ()
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya dengan pandas DataFrame berikut:
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
Contoh 1: Dapatkan indeks baris yang kolomnya cocok dengan nilainya
Kode berikut menunjukkan cara mendapatkan indeks baris dengan kolom sama dengan nilai tertentu:
#get index of rows where 'points' column is equal to 7 df. index [df[' points ']== 7 ]. tolist () [1, 2]
Ini memberitahu kita bahwa baris dengan nilai indeks 1 dan 2 memiliki nilai “7” di kolom poin.
Perhatikan bahwa kita juga dapat menggunakan operator kurang dari dan lebih besar dari untuk mencari indeks baris yang kolomnya lebih kecil atau lebih besar dari nilai tertentu:
#get index of rows where 'points' column is greater than 7 df. index [df[' points '] > 7 ]. tolist () [3, 4, 5, 6]
Ini memberitahu kita bahwa baris dengan nilai indeks 3 , 4 , 5 dan 6 memiliki nilai lebih besar dari “7” pada kolom poin.
Contoh 2: Dapatkan indeks baris yang kolomnya cocok dengan string
Kode berikut menunjukkan cara mendapatkan indeks baris yang kolomnya sama dengan string tertentu:
#get index of rows where 'team' column is equal to 'B' df. index [df[' team ']==' B ']. tolist () [3, 4]
Ini memberitahu kita bahwa baris dengan nilai indeks 3 dan 4 memiliki nilai “B” di kolom tim.
Contoh 3: Dapatkan indeks baris dengan beberapa kondisi
Kode berikut menunjukkan cara mendapatkan indeks baris yang nilai beberapa kolomnya cocok dengan kondisi tertentu:
#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]
Sumber daya tambahan
Cara mendapatkan nilai sel dari Pandas DataFrame
Cara mengganti nama indeks di Pandas DataFrame
Cara mengurutkan kolom berdasarkan nama di Pandas