pandas.eval
-
pandas.eval(expr, parser='pandas', engine=None, truediv=True, local_dict=None, global_dict=None, resolvers=(), level=0, target=None, inplace=None)[source] -
Вычислить строковое выражение Python с использованием различных бэкэндов.
Поддерживаются следующие арифметические операции:
+,-,*,/,**,%,//(только движок Python) наряду со следующими логическими операциями:|(или),&(и), и~(не). Кроме того, парсер'pandas'позволяет использоватьand,or, иnotс той же семантикой, что и соответствующие побитовые операторы.SeriesиDataFrameобъекты поддерживаются и ведут себя так же, как и при обычном вычислении в Python.Параметры: expr : str или unicode
Выражение для вычисления. Эта строка не может содержать никаких Python утверждений, только Python выражения.
parser : строка, по умолчанию ‘pandas’, {‘pandas’, ‘python’}
Парсер для построения синтаксического дерева из выражения. По умолчанию
'pandas'анализирует код немного иначе, чем стандартный Python. В качестве альтернативы можно использовать парсер'python'для сохранения строгой семантики Python. Подробнее см. документацию по улучшению производительности.engine : строка или None, по умолчанию ‘numexpr’, {‘python’, ‘numexpr’}
Движок, используемый для вычисления выражения. Поддерживаемые движки:
- None : пытается использовать
numexpr, в противном случае используетpython -
-
'numexpr': This default engine evaluates pandas objects using -
numexpr для значительного ускорения при сложных выражениях с большими фреймами.
-
-
-
'python': Performs operations as if you had eval‘d in top -
уровень Python. Этот движок, как правило, не очень полезен.
-
В будущем могут быть доступны и другие бэкэнды.
truediv : bool, необязательно
Использовать ли истинное деление, как в Python >= 3
local_dict : dict или None, необязательно
Словарь локальных переменных, по умолчанию взятый из locals().
global_dict : dict или None, необязательно
Словарь глобальных переменных, по умолчанию взятый из globals().
resolvers : список объектов-словарей или None, необязательно
Список объектов, реализующих метод
__getitem__, позволяющий внедрить дополнительную коллекцию пространств имен для поиска переменных. Например, используется в методеquery()для внедрения переменныхindexиcolumns, которые ссылаются на соответствующие атрибуты экземпляраDataFrame.level : int, необязательно
Количество предыдущих фреймов стека для обхода и добавления в текущую область видимости. Большинству пользователей не нужно изменять этот параметр.
target : целевой объект для присваивания, необязательно, по умолчанию None
по сути, это переданный разрешитель
inplace : bool, по умолчанию True
Если выражение изменяет объект, то модифицировать ли объект на месте или вернуть копию с изменением.
ПРЕДУПРЕЖДЕНИЕ: inplace=None в настоящее время использует значение True, но в будущей версии по умолчанию будет False. Используйте явно inplace=True, а не полагайтесь на значение по умолчанию.
Возвращает: ndarray, числовой скаляр, DataFrame, Series
См. также
Примечания
Тип любых объектов, участвующих в арифметической
%операции, рекурсивно преобразуются кfloat64.См. документацию по улучшению производительности для получения дополнительных сведений.
- None : пытается использовать
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.19.2/generated/pandas.eval.html