Spec-Zone.ru › pandas 1

pandas.io.formats.style.Styler.hide

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

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

Новая в версии 1.4.0.

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

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

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

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

level:целое число, строка, список

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

names:bool

Скрыть имена уровня(ей) заголовков индекса/столбцов в случае, если он (или по крайней мере один из уровней) остаётся видимым.

Возвращаемое значение
self:Styler

Примечания

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

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

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

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

Сочетания аргументов

subset

level

names

Эффект

None

None

False

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

None

None

True

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

None

Целое число, строка, список

False

Уровни указанной оси-MultiIndex скрыты полностью.

None

Целое число, строка, список

True

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

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

None

False

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

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

None

True

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

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

Целое число, строка, список

Булево значение

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/1.5.0/reference/api/pandas.io.formats.style.Styler.hide.html

Spec-Zone.ru

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