Spec-Zone.ru › pandas 2

pandas.io.formats.style.Styler.hide

Styler.hide(subset=None, axis=0, level=None, names=False)[source]

Скрыть заголовки всего индекса/колонок или определённые строки/столбцы из отображения.

Введено в версии 1.4.0.

Параметры:
subset:label, массив-подобный объект, IndexSlice, необязательно

Допустимый 1d ввод или единственный ключ вдоль оси в DataFrame.loc[<subset>, :] или DataFrame.loc[:, <subset>] в зависимости от axis, чтобы ограничить data для выбора скрытых строк/столбцов.

axis:{“индекс”, 0, “колонки”, 1}

Применить к индексу или колонкам.

level:int, str, список

Уровень(и) для скрытия в MultiIndex, если скрываются заголовки всего индекса/колонок. Не может быть использован одновременно с subset.

names:bool

Указать, скрывать ли имя(а) уровня(ей) заголовков индекса/колонок в случае, если оно(они) остаются видимыми.

Возвращает:
Styler

Примечания

Предупреждение

Этот метод работает только с методами вывода to_html, to_string и to_latex.

Другие методы вывода, включая to_excel, игнорируют этот метод скрытия и отобразят все данные.

Этот метод имеет несколько функций в зависимости от комбинации аргументов subset, level и names (см. примеры). Аргумент axis используется только для управления тем, к заголовкам строк или столбцов применяется метод:

Комбинации аргументов

subset

level

names

Эффект

None

None

False

Весь индекс оси скрыт полностью.

None

None

True

Скрыты только имена индекса оси.

None

Int, Str, List

False

Полностью скрыты указанные уровни MultiIndex оси.

None

Int, Str, List

True

Уровни MultiIndex оси скрыты полностью, а также имена уровней оставшихся уровней MultiIndex оси.

Подмножество

None

False

Указанные данные строк/столбцов скрыты, но сам индекс оси и имена остаются неизменными.

Подмножество

None

True

Указанные данные строк/столбцов и имена индекса оси скрыты, но сам индекс оси остаётся неизменным.

Подмножество

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".

© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.io.formats.style.Styler.hide.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API