Pandas: cara menggunakan variabel dalam fungsi query()


Anda dapat menggunakan sintaks berikut untuk menggunakan fungsi query() di panda dan mereferensikan nama variabel:

 df. query (' team == @team_name ')

Kueri khusus ini mencari baris dalam pandas DataFrame yang kolom teamnya sama dengan nilai yang disimpan dalam variabel bernama team_name .

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: Cara menggunakan variabel dalam query Pandas

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', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C '],
                   ' position ':['G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F'],
                   ' points ': [22, 25, 24, 39, 34, 20, 18, 17, 20, 19, 22]})

#view DataFrame
print (df)

   team position points
0 AG 22
1 AG 25
2 AF 24
3 BG 39
4 BF 34
5 BF 20
6 BF 18
7 GC 17
8 GC 20
9 CF 19
10 CF 22

Sekarang misalkan kita ingin mencari baris yang nilai pada kolom tim sama dengan C.

Kita dapat menggunakan sintaks berikut untuk membuat variabel bernama nama_tim yang sama dengan “C”, lalu mereferensikan variabel ini dalam fungsi query() :

 #specify team name to search for
team_name = ' C '

#query for rows where team is equal to team_name
df. query (' team == @team_name ')

        team position points
7 C G 17
8 C G 20
9 C F 19
10 C F 22

Perhatikan bahwa fungsi query() mengembalikan semua baris yang nilai dalam kolom tim sama dengan C.

Perhatikan juga bahwa kita bisa mereferensikan beberapa variabel dalam fungsi query() jika kita mau.

Misalnya, kode berikut menunjukkan cara menggunakan fungsi query() untuk mengembalikan semua baris yang nilai dalam kolom tim sama dengan nilai variabel yang disebut team_A atau variabel yang disebut team_C :

 #create two variables
team_A = ' A ' 
team_C = ' C '

#query for rows where team is equal to either of the two variables
df. query (' team == @team_A | team == @team_C ')

        team position points
0 A G 22
1 A G 25
2 A F 24
7 C G 17
8 C G 20
9 C F 19
10 C F 22

Kueri mengembalikan semua baris di DataFrame dengan tim sama dengan nilai yang disimpan di salah satu dari dua variabel yang kami tentukan.

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 *