Pandas: как использовать переменную в функции query()


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

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

Этот конкретный запрос ищет строки в DataFrame pandas, где столбец команды равен значению, хранящемуся в переменной с именем team_name .

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: как использовать переменную в запросе Pandas

Предположим, у нас есть следующий DataFrame 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

Теперь предположим, что мы хотим найти строки, в которых значение в столбце команды равно 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() возвращает все строки, где значение в столбце команды равно 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: как удалить строки по условию
Панды: как использовать фильтр «НЕТ ВХОДА»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *