Pandas: cara menggunakan metode isin() dengan metode query()


Seringkali Anda mungkin ingin menggunakan fungsi isin() dalam metode query() di panda untuk memfilter baris dalam DataFrame di mana kolom berisi nilai dalam daftar.

Anda dapat menggunakan sintaks berikut untuk melakukan ini:

 df. query (' team in ["A", "B", "D"] ')

Kueri khusus ini memfilter baris dari Pandas DataFrame dengan kolom tim sama dengan A, B, atau D.

Catatan : Kita perlu menggunakan in alih-alih isin saat menggunakan metode pandas query() .

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: Gunakan metode query() untuk memfilter nilai dalam daftar

Misalkan kita memiliki pandas DataFrame berikut yang berisi informasi tentang berbagai pemain bola basket:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'C', 'C', 'D', 'E'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 to 22 7 8
2 B 19 7 10
3 B 14 9 6
4 C 14 12 6
5 C 11 9 5
6 D 20 9 9
7 E 28 4 12

Sekarang misalkan kita ingin mencari baris yang nilai kolom timnya sama dengan A, B, atau D.

Kita dapat menggunakan sintaks berikut untuk melakukan ini:

 #query for rows where team is in list of specific teams
df. query (' team in ["A", "B", "D"] ')

	team points assists rebounds
0 A 18 5 11
1 to 22 7 8
2 B 19 7 10
3 B 14 9 6
6 D 20 9 9

Perhatikan bahwa fungsi query() mengembalikan semua baris yang nilai di kolom tim sama dengan A, B, atau D.

Perhatikan juga bahwa kita dapat menyimpan daftar nama tim dalam sebuah variabel dan kemudian mereferensikan variabel tersebut dalam fungsi query() menggunakan operator @ :

 #create variable to hold specific team names
team_names = [" A ", " B ", " D "]

#query for rows where team is equal to a team name in team_names variable
df. query (' team in @team_names ')

	team points assists rebounds
0 A 18 5 11
1 to 22 7 8
2 B 19 7 10
3 B 14 9 6
6 D 20 9 92

Kueri mengembalikan semua baris di DataFrame di mana tim sama dengan salah satu nama tim yang disimpan dalam variabel team_names .

Perhatikan bahwa hasil kueri ini cocok dengan contoh sebelumnya.

Catatan : Anda dapat menemukan dokumentasi lengkap fungsi pandas query() di sini .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di panda:

Pandas: Cara memfilter baris berdasarkan panjang string
Pandas: Cara menghapus baris berdasarkan kondisi
Pandas: Cara menggunakan filter “NO IN”.

Tambahkan komentar

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