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


Python pandas.io.formats.style.Styler.apply用法及代碼示例


用法:

Styler.apply(func, axis=0, subset=None, **kwargs)

按列、按行或table-wise 應用CSS-styling 函數。

用結果更新 HTML 表示。

參數

func函數

func 如果在 [0,1] 中的 axis 應采用 Series 並返回相同長度的 list-like 對象,或返回序列,不一定具有相同長度,考慮到 subset 具有有效的索引標簽。 func 如果 axisNone 則應該采用 DataFrame 並返回具有相同形狀的 ndarray 或 DataFrame,不一定具有相同的形狀,考慮到 subset 具有有效的索引和列標簽。

axis{0 或 ‘index’,1 或 ‘columns’,無},默認 0

適用於每一列(axis=0'index')、每一行(axis=1'columns'),或使用 axis=None 一次應用於整個 DataFrame。

subset標簽,array-like,IndexSlice,可選

DataFrame.loc[<subset>] 的有效 2d 輸入,或者在 1d 輸入或單鍵的情況下,到列優先的 DataFrame.loc[:, <subset>],在應用函數之前將 data 限製為。

**kwargsdict

傳遞給 func

返回

self造型器

注意

func 的輸出元素應該是 CSS 樣式的字符串,格式為 ‘attribute:value;屬性2:值2; ...' 或者,如果不對該元素應用任何內容,則為空字符串或 None

這類似於 DataFrame.apply ,除了 axis=None 一次將函數應用於整個 DataFrame,而不是按列或按行。

例子

>>> def highlight_max(x, color):
...     return np.where(x == np.nanmax(x.to_numpy()), f"color:{color};", None)
>>> df = pd.DataFrame(np.random.randn(5, 2), columns=["A", "B"])
>>> df.style.apply(highlight_max, color='red')  
>>> df.style.apply(highlight_max, color='blue', axis=1)  
>>> df.style.apply(highlight_max, color='green', axis=None)

使用subset 將應用程序限製為單列或多列

>>> df.style.apply(highlight_max, color='red', subset="A")
...  
>>> df.style.apply(highlight_max, color='red', subset=["A", "B"])
...

使用subset 的二維輸入來選擇除列之外的行

>>> df.style.apply(highlight_max, color='red', subset=([0,1,2], slice(None)))
...  
>>> df.style.apply(highlight_max, color='red', subset=(slice(0,5,2), "A"))
...

使用返回長度不等但包含有效索引標簽的係列/數據幀的函數

>>> df = pd.DataFrame([[1, 2], [3, 4], [4, 6]], index=["A1", "A2", "Total"])
>>> total_style = pd.Series("font-weight:bold;", index=["Total"])
>>> df.style.apply(lambda s:total_style)

有關更多詳細信息,請參閱表可視化用戶指南。

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.io.formats.style.Styler.apply。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。