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с HTMLescapeи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 .. >$ "A"</th> <th .. >$ A&B</th> <th .. >NA</td> ...Использование
formatterс LaTeXescape.>>> 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