Spec-Zone.ru › pandas 1

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

Spec-Zone.ru

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