pandas.io.formats.style.Styler.hide#
- Styler.hide(subset=None, axis=0, level=None, names=False)[源代码][源代码]#
隐藏整个索引 / 列标题,或隐藏特定的行 / 列。
Added in version 1.4.0.
- 参数:
- 子集label, 类似数组, IndexSlice, 可选
根据
axis
,在 DataFrame.loc[<subset>, :] 或 DataFrame.loc[:, <subset>] 中输入有效的 1d 输入或沿轴的单个键,以将data
限制为选择隐藏的行 / 列。- 轴{“index”, 0, “columns”, 1}
应用于索引或列。
- 级别int, str, list
在隐藏整个索引/列标题时,要隐藏的 MultiIndex 中的级别。不能与
subset
同时使用。- 名称bool
是否在索引/列标题的级别名称(或至少一个级别)保持可见的情况下隐藏它们。
- 返回:
- Styler
备注
警告
此方法仅适用于输出方法
to_html
、to_string
和to_latex
。其他输出方法,包括
to_excel
,忽略这种隐藏方法,并将显示所有数据。此方法根据
subset
、level
和names
参数的组合具有多种功能(见示例)。axis
参数仅用于控制方法是否应用于行或列标题:# subset
level
names
效果
None
None
False
轴索引被完全隐藏。
None
None
真
只有轴索引名称被隐藏。
None
Int, Str, List
False
指定的轴-MultiIndex 级别完全隐藏。
None
Int, Str, List
真
指定的轴-MultiIndex 级别完全隐藏,剩余轴-MultiIndex 级别的名称。
子集
None
False
指定的数据行/列被隐藏,但轴索引本身及其名称保持不变。
子集
None
真
指定的数据行/列和轴索引名称被隐藏,但轴索引本身保持不变。
子集
Int, Str, List
布尔值
ValueError: 不能同时提供
subset
和level
。注意此方法仅隐藏已识别的元素,因此可以链式调用来按顺序隐藏多个元素。
例子
简单应用程序隐藏特定行:
>>> df = pd.DataFrame([[1, 2], [3, 4], [5, 6]], index=["a", "b", "c"]) >>> df.style.hide(["a", "b"]) 0 1 c 5 6
隐藏索引并保留数据值:
>>> midx = pd.MultiIndex.from_product([["x", "y"], ["a", "b", "c"]]) >>> df = pd.DataFrame(np.random.randn(6, 6), index=midx, columns=midx) >>> df.style.format("{:.1f}").hide() x y a b c a b c 0.1 0.0 0.4 1.3 0.6 -1.4 0.7 1.0 1.3 1.5 -0.0 -0.2 1.4 -0.8 1.6 -0.2 -0.4 -0.3 0.4 1.0 -0.2 -0.8 -1.2 1.1 -0.6 1.2 1.8 1.9 0.3 0.3 0.8 0.5 -0.3 1.2 2.2 -0.8
在 MultiIndex 中隐藏特定行但保留索引:
>>> df.style.format("{:.1f}").hide(subset=(slice(None), ["a", "c"])) ... x y a b c a b c x b 0.7 1.0 1.3 1.5 -0.0 -0.2 y b -0.6 1.2 1.8 1.9 0.3 0.3
通过链式操作隐藏特定行和索引:
>>> df.style.format("{:.1f}").hide(subset=(slice(None), ["a", "c"])).hide() ... x y a b c a b c 0.7 1.0 1.3 1.5 -0.0 -0.2 -0.6 1.2 1.8 1.9 0.3 0.3
隐藏特定级别:
>>> df.style.format("{:,.1f}").hide(level=1) x y a b c a b c x 0.1 0.0 0.4 1.3 0.6 -1.4 0.7 1.0 1.3 1.5 -0.0 -0.2 1.4 -0.8 1.6 -0.2 -0.4 -0.3 y 0.4 1.0 -0.2 -0.8 -1.2 1.1 -0.6 1.2 1.8 1.9 0.3 0.3 0.8 0.5 -0.3 1.2 2.2 -0.8
仅隐藏索引级别名称:
>>> df.index.names = ["lev0", "lev1"] >>> df.style.format("{:,.1f}").hide(names=True) x y a b c a b c x a 0.1 0.0 0.4 1.3 0.6 -1.4 b 0.7 1.0 1.3 1.5 -0.0 -0.2 c 1.4 -0.8 1.6 -0.2 -0.4 -0.3 y a 0.4 1.0 -0.2 -0.8 -1.2 1.1 b -0.6 1.2 1.8 1.9 0.3 0.3 c 0.8 0.5 -0.3 1.2 2.2 -0.8
所有这些示例都会在使用
axis="columns"
时产生相同的效果。