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: как удалить строки по условию
Панды: как использовать фильтр «НЕТ ВХОДА»