pandas.io.formats.style.Styler.hide — pandas 3.0.0rc0+52.gb43b95d2b4 documentation (original) (raw)
Styler.hide(subset=None, axis=0, level=None, names=False)[source]#
Hide the entire index / column headers, or specific rows / columns from display.
Parameters:
subsetlabel, array-like, IndexSlice, optional
A valid 1d input or single key along the axis withinDataFrame.loc[, :] or DataFrame.loc[:, ] depending upon axis, to limit data to 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:
Styler
Instance of class with specified headers/rows/columns hidden from display.
See also
Apply a CSS-styling function column-wise, row-wise, or table-wise.
Apply a CSS-styling function elementwise.
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, level and names arguments (see examples). Theaxis argument is used only to control whether the method is applied to row or column headers:
Note this method only hides the identified 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".