Pandas: cara mencari baris pertama yang memenuhi kriteria


Anda dapat menggunakan sintaks berikut untuk menemukan baris pertama pandas DataFrame yang memenuhi kriteria tertentu:

 #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]

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', '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

Contoh 1: Temukan baris pertama yang memenuhi kriteria

Kita dapat menggunakan sintaks berikut untuk mencari baris pertama yang nilai di kolom tim sama dengan “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

Terlihat baris pertama yang nilai pada kolom tim sama dengan “B” berada pada posisi indeks 3.

Contoh 2: Temukan baris pertama yang memenuhi beberapa kriteria

Kita dapat menggunakan sintaks berikut untuk mencari baris pertama yang nilai pada kolom poin lebih besar dari 15 dan nilai pada kolom assist lebih besar dari 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

Terlihat baris pertama yang nilai kolom poinnya lebih besar dari 15 dan nilai kolom assistnya lebih besar dari 10 berada pada posisi indeks 2.

Contoh 3: Temukan baris pertama yang memenuhi salah satu dari banyak kriteria

Kita dapat menggunakan sintaks berikut untuk mencari baris pertama yang nilai pada kolom poin lebih besar dari 15 atau nilai pada kolom assist lebih besar dari 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

Terlihat baris pertama yang nilai pada kolom poin lebih besar dari 15 atau nilai pada kolom assist lebih besar dari 10 berada pada posisi indeks 0.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di panda:

Cara memilih baris tanpa nilai NaN di Pandas
Cara memilih baris berdasarkan nilai kolom di Pandas
Cara memilih satu baris di Pandas

Tambahkan komentar

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