Spec-Zone.ru › pandas 0.25

Параметры и настройки

Обзор

pandas имеет систему параметров, которая позволяет настраивать некоторые аспекты его поведения, причём параметры отображения, скорее всего, будут чаще всего настраиваться пользователем.

Параметры имеют полное «точечное» наименование, нечувствительное к регистру (например, display.max_rows). Вы можете получить/установить параметры напрямую как атрибуты верхнего уровня options атрибута:

In [1]: import pandas as pd

In [2]: pd.options.display.max_rows
Out[2]: 15

In [3]: pd.options.display.max_rows = 999

In [4]: pd.options.display.max_rows
Out[4]: 999

API состоит из 5 соответствующих функций, доступных непосредственно из пространства имен pandas:

  • get_option() / set_option() - получение/установка значения отдельного параметра.
  • reset_option() - сброс одного или нескольких параметров до их значения по умолчанию.
  • describe_option() - вывод описаний одного или нескольких параметров.
  • option_context() - выполнение блока кода с набором параметров, которые возвращаются к предыдущим настройкам после выполнения.

Примечание: Разработчики могут ознакомиться с pandas/core/config.py для получения дополнительной информации.

Все перечисленные функции принимают шаблон регулярного выражения (стиль re.search) в качестве аргумента, и поэтому передача подстроки будет работать — при условии, что она недвусмысленна:

In [5]: pd.get_option("display.max_rows")
Out[5]: 999

In [6]: pd.set_option("display.max_rows", 101)

In [7]: pd.get_option("display.max_rows")
Out[7]: 101

In [8]: pd.set_option("max_r", 102)

In [9]: pd.get_option("display.max_rows")
Out[9]: 102

Следующее не будет работать, потому что оно соответствует нескольким именам параметров, например, display.max_colwidth, display.max_rows, display.max_columns:

In [10]: try:
   ....:     pd.get_option("column")
   ....: except KeyError as e:
   ....:     print(e)
   ....: 
'Pattern matched multiple keys'

Примечание: Использование этой формы сокращения может привести к тому, что ваш код перестанет работать, если в будущих версиях будут добавлены новые параметры с похожими именами.

Вы можете получить список доступных параметров и их описания с помощью describe_option. При вызове без аргументов describe_option выведет описания всех доступных параметров.

Получение и установка параметров

Как описано выше, get_option() и set_option() доступны из пространства имен pandas. Чтобы изменить параметр, вызовите set_option('option regex', new_value).

In [11]: pd.get_option('mode.sim_interactive')
Out[11]: False

In [12]: pd.set_option('mode.sim_interactive', True)

In [13]: pd.get_option('mode.sim_interactive')
Out[13]: True

Примечание: Параметр «mode.sim_interactive» в основном используется для отладки.

Все параметры также имеют значение по умолчанию, и вы можете использовать reset_option для этого:

In [14]: pd.get_option("display.max_rows")
Out[14]: 60

In [15]: pd.set_option("display.max_rows", 999)

In [16]: pd.get_option("display.max_rows")
Out[16]: 999

In [17]: pd.reset_option("display.max_rows")

In [18]: pd.get_option("display.max_rows")
Out[18]: 60

Также возможно сбросить сразу несколько параметров (используя регулярное выражение):

In [19]: pd.reset_option("^display")

option_context контекстный менеджер был доступен через верхний уровень API, позволяя выполнять код со значениями заданных параметров. Значения параметров автоматически восстанавливаются при выходе из with блока:

In [20]: with pd.option_context("display.max_rows", 10, "display.max_columns", 5):
   ....:     print(pd.get_option("display.max_rows"))
   ....:     print(pd.get_option("display.max_columns"))
   ....: 
10
5

In [21]: print(pd.get_option("display.max_rows"))

© 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.25.0/user_guide/options.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API