pandas.io.formats.style.Styler.apply
- Styler.apply(func, axis=0, subset=None, **kwargs)[source]
-
Применяет функцию форматирования CSS по столбцам, строкам или всей таблице.
Обновляет HTML-представление результатом.
- Параметры
-
- func:функция
-
funcдолжна принимать Series, еслиaxisравно [0,1], и возвращать похожий по длине список-подобный объект или Series, не обязательно той же длины, с допустимыми метками индексов, учитываяsubset.funcдолжна принимать DataFrame, еслиaxisравноNone, и возвращать массив ndarray с той же формой или DataFrame, не обязательно той же формы, с допустимыми метками индексов и столбцов, учитываяsubset.Изменено в версии 1.3.0.
Изменено в версии 1.4.0.
- axis:{0 или ‘index’, 1 или ‘columns’, None}, по умолчанию 0
-
Применить к каждому столбцу (
axis=0или'index'), к каждой строке (axis=1или'columns') или ко всему DataFrame сразу сaxis=None. - subset:метка, array-like, IndexSlice, необязательно
-
Допустимый двумерный ввод для DataFrame.loc[<subset>], или, в случае одномерного ввода или одиночного ключа, для DataFrame.loc[:, <subset>], где столбцы имеют приоритет, для ограничения
dataдо применения функции. - **kwargs:dict
-
Передать
func.
- Возвращает
-
- self:Styler
См. также
Styler.applymap_index-
Применить функцию форматирования CSS к элементам заголовков.
Styler.apply_index-
Применить функцию форматирования CSS к заголовкам по уровням.
Styler.applymap-
Применить функцию форматирования CSS к элементам по отдельности.
Примечания
Элементы вывода
funcдолжны быть строками стилей CSS в формате «атрибут: значение; атрибут2: значение2; …» или, если к данному элементу ничего не нужно применять, пустая строка илиNone.Это аналогично
DataFrame.apply, за исключением того, чтоaxis=Noneприменяет функцию ко всему DataFrame сразу, а не к столбцам или строкам.Примеры
>>> def highlight_max(x, color): ... return np.where(x == np.nanmax(x.to_numpy()), f"color: {color};", None) >>> df = pd.DataFrame(np.random.randn(5, 2), columns=["A", "B"]) >>> df.style.apply(highlight_max, color='red') >>> df.style.apply(highlight_max, color='blue', axis=1) >>> df.style.apply(highlight_max, color='green', axis=None)Использование
subsetдля ограничения применения к одному или нескольким столбцам>>> df.style.apply(highlight_max, color='red', subset="A") ... >>> df.style.apply(highlight_max, color='red', subset=["A", "B"]) ...
Использование двумерного ввода в
subsetдля выбора строк дополнительно к столбцам>>> df.style.apply(highlight_max, color='red', subset=([0,1,2], slice(None))) ... >>> df.style.apply(highlight_max, color='red', subset=(slice(0,5,2), "A")) ...
Использование функции, возвращающей Series / DataFrame с разной длиной, но содержащей допустимые метки индексов
>>> df = pd.DataFrame([[1, 2], [3, 4], [4, 6]], index=["A1", "A2", "Total"]) >>> total_style = pd.Series("font-weight: bold;", index=["Total"]) >>> df.style.apply(lambda s: total_style)См. руководство по Визуализация таблиц для получения дополнительной информации.
© 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.apply.html