當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。