当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python 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)

格式化索引标签或列标题的文本显示值。

参数

formatterstr,可调用,字典或无

定义值如何显示的对象。见注释。

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

是否将格式化程序应用于索引或列标题。

level整数、字符串、列表

应用通用格式化程序的级别。

na_repstr,可选

缺失值的表示。如果na_rep 为无,则不应用特殊格式。

precision整数,可选

如果不是由指定的 formatter 确定,则用于显示目的的浮点精度。

decimalstr,默认 “.”

用作浮点数、复数和整数的小数分隔符的字符。

thousandsstr,可选,默认无

用作浮点数、复数和整数的千位分隔符的字符。

escapestr,可选

使用‘html’ 替换字符&,<,>,', 和"在带有HTML-safe 序列的单元格显示字符串中。使用‘latex’ 替换字符&,%,$,#,_,{,},~,^, 和\在带有LaTeX-safe 序列的单元格显示字符串中。转义是在之前完成的formatter.

hyperlinks{“html”, “latex”},可选

转换包含 https://、http://、ftp://或 www 的字符串模式。如果 “html” 将 HTML <a> 标签作为可点击的 URL 超链接,如果 “latex” 则将 LaTeX href 命令转换为可点击的 URL 超链接。

返回

self造型器

注意

此方法将格式化函数 formatter 分配给 DataFrame 的索引或列标题中的每个级别标签。如果 formatterNone ,则使用默认格式化程序。如果是可调用的,则该函数应将标签值作为输入并返回可显示的表示形式,例如字符串。如果 formatter 作为字符串给出,则假定这是一个有效的 Python 格式规范,并被包装到一个可调用的 string.format(x) 中。如果给出dict,则键应对应于 MultiIndex 级别编号或名称,值应为字符串或可调用,如上所述。

除非在此处使用 precision 参数,否则默认格式化程序当前使用 pandas 显示精度表示浮点数和复数。除非使用 na_rep 参数,否则默认格式化程序不会调整缺失值的表示。

level 参数定义将方法应用到 MultiIndex 的哪些级别。如果 formatter 参数以 dict 形式给出,但不包括 level 参数中的所有级别,则这些未指定的级别将应用默认格式化程序。格式化程序字典中特别从 level 参数中排除的任何级别都将被忽略。

使用 formatter 字符串时,dtypes 必须兼容,否则将引发 ValueError

例子

na_repprecision 与默认 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

在关卡中对一致的 dtype 使用 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 escapena_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}

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.io.formats.style.Styler.format_index。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。