Spec-Zone.ru › pandas 2

pandas.io.formats.style.Styler.relabel_index

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

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

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

Параметры:
labels:список или Индекс

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

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

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

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

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

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

Использование Многоуровневого Индекса

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

Spec-Zone.ru

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