Параметры и настройки
Обзор
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.24.2/user_guide/options.html