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

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *