pandas.io.formats.style.Styler.relabel_index#

Styler.relabel_index(метки, ось=0, уровень=None)[источник]#

Переименовать ключи индекса или заголовков столбцов для отображения заданного набора значений.

Добавлено в версии 1.5.0.

Параметры:
меткиlist-like или Index

Новые метки для отображения. Должны иметь ту же длину, что и базовые значения, не скрытые.

ось{“index”, 0, “columns”, 1}

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

уровеньint, str, list, необязательный

Уровень(и), на которые применяются новые метки. Если None будет применяться ко всем уровням Index или MultiIndex, которые не скрыты.

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

Смотрите также

Styler.format_index

Форматирование текстового отображаемого значения индекса или заголовков столбцов.

Styler.hide

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

Примечания

Как часть Styler, этот метод позволяет полностью задавать пользователем отображение индекса, не затрагивая базовые данные DataFrame, индекс или заголовки столбцов. Это означает, что гибкость индексирования сохраняется, а конечное отображение настраивается.

Поскольку Styler предназначен для постепенного построения с цепочкой методов, этот метод адаптирован для реакции на в настоящее время указанные скрытые элементы. Это полезно, так как не нужно указывать все новые метки, если большинство индекса или заголовков столбцов уже скрыто. Следующие варианты дают эквивалентное отображение (обратите внимание на длину labels в каждом случае).

# relabel first, then hide
df = pd.DataFrame({"col": ["a", "b", "c"]})
df.style.relabel_index(["A", "B", "C"]).hide([0,1])
# hide first, then relabel
df = pd.DataFrame({"col": ["a", "b", "c"]})
df.style.hide([0,1]).relabel_index(["C"])

Этот метод следует использовать вместо Styler.format_index(), в одном из следующих случаев (см. примеры):

  • Требуется указанный набор меток, которые не являются функцией от базовых ключей индекса.

  • Функция ключей базового индекса требует переменной-счётчика, такой как доступная при перечислении.

Примеры

Базовое использование

>>> df = pd.DataFrame({"col": ["a", "b", "c"]})
>>> df.style.relabel_index(["A", "B", "C"])  
     col
A      a
B      b
C      c

Цепочка с предварительно скрытыми элементами

>>> df.style.hide([0,1]).relabel_index(["C"])  
     col
C      c

Использование MultiIndex

>>> midx = pd.MultiIndex.from_product([[0, 1], [0, 1], [0, 1]])
>>> df = pd.DataFrame({"col": list(range(8))}, index=midx)
>>> styler = df.style  
          col
0  0  0     0
      1     1
   1  0     2
      1     3
1  0  0     4
      1     5
   1  0     6
      1     7
>>> styler.hide((midx.get_level_values(0)==0)|(midx.get_level_values(1)==0))
...  
>>> styler.hide(level=[0,1])  
>>> styler.relabel_index(["binary6", "binary7"])  
          col
binary6     6
binary7     7

Мы также можем достичь вышеуказанного, сначала проиндексировав, а затем перемаркировав

>>> styler = df.loc[[(1,1,0), (1,1,1)]].style
>>> styler.hide(level=[0,1]).relabel_index(["binary6", "binary7"])
...  
          col
binary6     6
binary7     7

Определение функции форматирования, которая использует счётчик перечисления. Также обратите внимание, что значение ключа индекса передаётся в случае строковых меток, поэтому его также можно вставить в метку, используя фигурные скобки (или двойные фигурные скобки, если строка предварительно отформатирована),

>>> df = pd.DataFrame({"samples": np.random.rand(10)})
>>> styler = df.loc[np.random.randint(0,10,3)].style
>>> styler.relabel_index([f"sample{i+1} ({{}})" for i in range(3)])
...  
                 samples
sample1 (5)     0.315811
sample2 (0)     0.495941
sample3 (2)     0.067946