РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
7 of 687 menu

Метод query

Метод query применяется к DataFrame и возвращает отфильтрованные строки на основе условия, переданного в виде строки. Это позволяет использовать более читаемый синтаксис для фильтрации данных, особенно при работе со сложными логическими выражениями.

Синтаксис

df.query(expression, inplace=False, **kwargs)

Основные параметры метода query:

  • expression - строковое выражение с условием фильтрации, в котором можно использовать имена столбцов как переменные
  • inplace - если True, изменяет исходный DataFrame, по умолчанию False
  • **kwargs - дополнительные параметры, например, engine для выбора движка выполнения ('python' или 'numexpr')

Пример

Давайте отфильтруем строки, где значения в столбце a больше 2:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) res = df.query('a > 2') print(res)

Результат выполнения кода:

a b 2 3 30 3 4 40 4 5 50

Пример

Фильтрация с использованием нескольких условий:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) res = df.query('a > 2 and b < 50') print(res)

Результат выполнения кода:

a b 2 3 30 3 4 40

Пример

Использование переменных в выражении с префиксом @:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) threshold = 3 res = df.query('a > @threshold') print(res)

Результат выполнения кода:

a b 3 4 40 4 5 50

Пример

Использование метода query со строковыми значениями:

import pandas as pd df = pd.DataFrame({ 'a': ['abc', 'def', 'abc', 'ghi'], 'b': [10, 20, 30, 40] }) res = df.query('a == "abc"') print(res)

Результат выполнения кода:

a b 0 abc 10 2 abc 30

Пример

Фильтрация с использованием оператора in:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) res = df.query('a in [2, 4]') print(res)

Результат выполнения кода:

a b 1 2 20 3 4 40

Смотрите также

  • метод eval,
    который вычисляет выражение над столбцами DataFrame
  • метод loc,
    который выполняет фильтрацию по меткам строк
  • метод iloc,
    который выполняет фильтрацию по позициям строк
  • метод filter,
    который фильтрует столбцы или строки по именам
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить