pandas.io.formats.style.Styler.hide#
- Styler.hide(subset=None, axis=0, level=None, names=False)[source]#
- Hide the entire index / column headers, or specific rows / columns from display. - New in version 1.4.0. - Parameters
- subsetlabel, array-like, IndexSlice, optional
- A valid 1d input or single key along the axis within DataFrame.loc[<subset>, :] or DataFrame.loc[:, <subset>] depending upon - axis, to limit- datato select hidden rows / columns.
- axis{“index”, 0, “columns”, 1}
- Apply to the index or columns. 
- levelint, str, list
- The level(s) to hide in a MultiIndex if hiding the entire index / column headers. Cannot be used simultaneously with - subset.
- namesbool
- Whether to hide the level name(s) of the index / columns headers in the case it (or at least one the levels) remains visible. 
 
- Returns
- selfStyler
 
 - Notes - Warning - This method only works with the output methods - to_html,- to_stringand- to_latex.- Other output methods, including - to_excel, ignore this hiding method and will display all data.- This method has multiple functionality depending upon the combination of the - subset,- leveland- namesarguments (see examples). The- axisargument is used only to control whether the method is applied to row or column headers:- Argument combinations# - subset- level- names- Effect - None - None - False - The axis-Index is hidden entirely. - None - None - True - Only the axis-Index names are hidden. - None - Int, Str, List - False - Specified axis-MultiIndex levels are hidden entirely. - None - Int, Str, List - True - Specified axis-MultiIndex levels are hidden entirely and the names of remaining axis-MultiIndex levels. - Subset - None - False - The specified data rows/columns are hidden, but the axis-Index itself, and names, remain unchanged. - Subset - None - True - The specified data rows/columns and axis-Index names are hidden, but the axis-Index itself remains unchanged. - Subset - Int, Str, List - Boolean - ValueError: cannot supply - subsetand- levelsimultaneously.- Note this method only hides the identifed elements so can be chained to hide multiple elements in sequence. - Examples - Simple application hiding specific rows: - >>> df = pd.DataFrame([[1,2], [3,4], [5,6]], index=["a", "b", "c"]) >>> df.style.hide(["a", "b"]) 0 1 c 5 6 - Hide the index and retain the data values: - >>> 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 - Hide specific rows in a MultiIndex but retain the index: - >>> 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 - Hide specific rows and the index through chaining: - >>> 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 - Hide a specific level: - >>> 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 - Hiding just the index level names: - >>> 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 - Examples all produce equivalently transposed effects with - axis="columns".