Method query berguna untuk retrieve data dengan kondisi tertentu.
Untuk menggunakan method query(), label dari kolom tidak boleh ada spasi.
Pertama kita load library dan data untuk keperluan tutorial.
import pandas as pd
df = pd.read_csv("jamesbond.csv", index_col="Film")
df.sort_index(inplace=True)
Berikutnya kita ganti spasi dengan tanda underscore pada label kolom.
df.columns = [colname.replace(" ", "_") for colname in df.columns]
Jika kita check, nama kolom sudah tidak mengandung spasi.
df.columns
Index(['Year', 'Actor', 'Director', 'Box_Office', 'Budget',
'Bond_Actor_Salary'],
dtype='object')
Berikutnya kita akan menggunakan method query().
Contoh, mengambil data film yang dibintangi Sean Connery.
df.query("Actor == 'Sean Connery'")
Sesuai ekspektasi, data yang dikembalikan adalah seluruh film yang dibintangi Sean Connery.
Perbedaan dengan method filtering sebelumnya, untuk operasi boolean, digunakan keyword and atau or atau not.
Contoh menampilkan film yang dibintangi Sean Connery dan Director bukan Terence Young.
df.query("Actor == 'Sean Connery' and Director != 'Terence Young'")
df.query("Actor == 'Sean Connery' or Year in [1964, 1967, 1971]")