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

Функция eval

Функция eval из раздела opt применяется к DataFrame и позволяет выполнять строковые выражения с использованием синтаксиса Python. Она работает быстрее, чем стандартные методы, так как использует оптимизированные операции Pandas и может выполнять вычисления без создания промежуточных объектов. Первым параметром передаётся строка с выражением, вторым параметром можно указать движок выполнения (по умолчанию 'numexpr').

Синтаксис

df.eval(expr, inplace=False, engine='numexpr')

Пример

Выполним арифметическую операцию с колонками таблицы:

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

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

a b c 0 1 10 11 1 2 20 22 2 3 30 33 3 4 40 44 4 5 50 55

Пример

Используем функцию с локальными переменными через параметр local_dict:

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

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

a b d 0 1 10 2 1 2 20 4 2 3 30 6 3 4 40 8 4 5 50 10

Пример

Применим функцию для агрегации данных с использованием условных операторов:

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

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

a b result 0 1 10 False 1 2 20 False 2 3 30 True 3 4 40 True 4 5 50 False

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

  • функция set_option,
    которая устанавливает глобальные опции Pandas
  • функция get_option,
    которая возвращает значение текущей опции Pandas
  • функция reset_option,
    которая сбрасывает опции к значениям по умолчанию
  • контекстный менеджер option_context,
    который временно изменяет опции в блоке кода
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить