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