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