Spec-Zone.ru › pandas 1

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:строка, вызываемый объект, словарь или None

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

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

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

level:int, строка, список

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

na_rep:строка, необязательно

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

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

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

decimal:строка, по умолчанию “.”

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

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

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

escape:строка, необязательно

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

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

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

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

См. также

Styler.format

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

Примечания

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

Стандартный форматировщик в настоящее время отображает числа с плавающей точкой и комплексные числа с точностью pandas display, если не используется аргумент 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: upper(v)}, 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/1.5.0/reference/api/pandas.io.formats.style.Styler.format_index.html

Spec-Zone.ru

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