Pandas: як використовувати змінну у функції query().


Ви можете використовувати такий синтаксис, щоб використовувати функцію query() у pandas і посилатися на назву змінної:

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

Цей конкретний запит шукає рядки в pandas DataFrame, де стовпець team дорівнює значенню, що зберігається в змінній під назвою team_name .

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: як використовувати змінну в запиті Pandas

Припустімо, що у нас є такий фрейм даних pandas, який містить інформацію про різних баскетболістів:

 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

Тепер припустімо, що ми хочемо знайти рядки, де значення в стовпці team дорівнює C.

Ми можемо використати такий синтаксис, щоб створити змінну під назвою team_name , яка дорівнює “C”, а потім посилатися на цю змінну у функції 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

Зауважте, що функція query() повертає всі рядки, де значення в стовпці team дорівнює C.

Також зауважте, що ми можемо посилатися на кілька змінних у функції query() , якщо хочемо.

Наприклад, наведений нижче код показує, як використовувати функцію query() для повернення всіх рядків, де значення в стовпці team дорівнює значенню змінної з назвою team_A або змінної з назвою 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

Запит повертає всі рядки в DataFrame, де команда дорівнює значенням, що зберігаються в одній із двох указаних нами змінних.

Примітка . Повну документацію щодо функції pandas query() можна знайти тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в pandas:

Pandas: як фільтрувати рядки на основі довжини рядка
Pandas: як видалити рядки на основі умови
Pandas: як використовувати фільтр «NO IN».

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *