Spec-Zone.ru › pandas 2

pandas.io.formats.style.Styler.format_index

Styler.format_index(formatter=None, axis=0, level=None, na_rep=None, precision=None, decimal='.', thousands=None, escape=None, hyperlinks=None)[source]

Форматирование текстового значения меток индекса или заголовков столбцов.

Новое в версии 1.4.0.

Параметры:
formatter:str, callable, dict или None

Объект, определяющий способ отображения значений. См. примечания.

axis:{0, “index”, 1, “columns”}

Определяет, к индексу или заголовкам столбцов применять форматирование.

level:int, str, список

Уровень(и), на котором применяется общее форматирование.

na_rep:str, необязательно

Представление для пропущенных значений. Если na_rep равно None, специальное форматирование не применяется.

precision:int, необязательно

Точность чисел с плавающей запятой для отображения, если она не определена указанным formatter.

decimal:str, по умолчанию “.”

Символ, используемый в качестве десятичного разделителя для чисел с плавающей запятой, комплексных и целых чисел.

thousands:str, необязательно, по умолчанию None

Символ, используемый в качестве разделителя тысяч для чисел с плавающей запятой, комплексных и целых чисел.

escape:str, необязательно

Использование ‘html’ для замены символов &, <, >, ', и " в строке отображения ячейки на безопасные для HTML последовательности. Использование ‘latex’ для замены символов &, %, $, #, _, {, }, ~, ^, и \ в строке отображения ячейки на безопасные для LaTeX последовательности. Экранирование выполняется до formatter.

hyperlinks:{“html”, “latex”}, необязательно

Преобразовать строковые шаблоны, содержащие https://, http://, ftp:// или www. в теги HTML <a> как нажатия по ссылке URL, если “html”, или команды LaTeX href, если “latex”.

Возвращаемое значение:
Styler

См. также

Styler.format

Форматирование текстового значения данных ячеек.

Примечания

Этот метод присваивает функцию форматирования, formatter, каждой метке уровня в индексе или заголовках столбцов DataFrame. Если formatter равно None, используется стандартное форматирование. Если это вызываемая функция, то эта функция должна принимать в качестве входного значения значение метки и возвращать строку отображения, например строку. Если formatter задано строкой, это предполагается как допустимое Python спецификацией форматирования и обёрнуто как вызываемая функция string.format(x). Если указан dict, ключи должны соответствовать номерам или именам уровней MultiIndex, а значения должны быть строкой или вызываемой функцией, как указано выше.

В настоящее время стандартное форматирование выражает числа с плавающей точкой и комплексные числа с точностью отображения pandas, если не используется аргумент precision. Стандартное форматирование не корректирует представление пропущенных значений, если не используется аргумент na_rep.

Аргумент level определяет, к каким уровням MultiIndex применяется метод. Если аргумент formatter задан в виде словаря, но не включает все уровни в аргументе level, то для этих неопределённых уровней будет применено стандартное форматирование. Любые уровни в словаре formatter, явно исключённые из аргумента level, будут проигнорированы.

При использовании строки formatter типы данных должны быть совместимы, в противном случае будет поднято исключение ValueError.

Предупреждение

Styler.format_index игнорируется при использовании формата вывода Styler.to_excel, так как Excel и Python имеют внутренне разные структуры форматирования. Тем не менее, возможно использование псевдо атрибута CSS number-format для принудительного форматирования, допустимого в Excel. См. документацию для Styler.format.

Примеры

Использование na_rep и precision со стандартным formatter

>>> df = pd.DataFrame([[1, 2, 3]], columns=[2.0, np.nan, 4.0])
>>> df.style.format_index(axis=1, na_rep='MISS', precision=3)  
    2.000    MISS   4.000
0       1       2       3

Использование спецификации formatter на совместимых типах данных уровня

>>> df.style.format_index('{:.2f}', axis=1, na_rep='MISS')  
     2.00   MISS    4.00
0       1      2       3

Использование стандартного formatter для неопределённых уровней

>>> df = pd.DataFrame([[1, 2, 3]],
...     columns=pd.MultiIndex.from_arrays([["a", "a", "b"],[2, np.nan, 4]]))
>>> df.style.format_index({0: lambda v: v.upper()}, axis=1, precision=1)
...  
               A       B
      2.0    nan     4.0
0       1      2       3

Использование вызываемой formatter функции.

>>> func = lambda s: 'STRING' if isinstance(s, str) else 'FLOAT'
>>> df.style.format_index(func, axis=1, na_rep='MISS')
...  
          STRING  STRING
    FLOAT   MISS   FLOAT
0       1      2       3

Использование formatter с HTML escape и na_rep.

>>> df = pd.DataFrame([[1, 2, 3]], columns=['"A"', 'A&B', None])
>>> s = df.style.format_index('$ {0}', axis=1, escape="html", na_rep="NA")
...  
<th .. >$ &#34;A&#34;</th>
<th .. >$ A&amp;B</th>
<th .. >NA</td>
...

Использование formatter с LaTeX escape.

>>> df = pd.DataFrame([[1, 2, 3]], columns=["123", "~", "$%#"])
>>> df.style.format_index("\\textbf{{{}}}", escape="latex", axis=1).to_latex()
...  
\begin{tabular}{lrrr}
{} & {\textbf{123}} & {\textbf{\textasciitilde }} & {\textbf{\$\%\#}} \\
0 & 1 & 2 & 3 \\
\end{tabular}

© 2008–2022, 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/2.2.2/reference/api/pandas.io.formats.style.Styler.format_index.html

Spec-Zone.ru

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