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