Spec-Zone.ru › pandas 1

pandas.io.formats.style.Styler.relabel_index

Styler.relabel_index(labels, axis=0, level=None)[source]

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

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

Параметры
labels:последовательность или Index

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

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

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

level:int, str, список, необязательно

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

Возвращает
self: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

© 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.relabel_index.html

Spec-Zone.ru

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