Spec-Zone.ru › pandas 2

pandas.io.formats.style.Styler.apply

Styler.apply(func, axis=0, subset=None, **kwargs)[source]

Применение функции форматирования CSS по столбцам, строкам или всей таблице.

Обновляет HTML-представление результатом.

Параметры:
func:функция

Функция должна принимать Series, если ось 0 или 1, и возвращать список-подобный объект той же длины, или Series, не обязательно той же длины, с корректными метками индекса, учитывая subset. Функция должна принимать DataFrame, если ось None, и возвращать ndarray той же формы или DataFrame, не обязательно той же формы, с корректными метками индексов и столбцов, учитывая subset.

Изменено в версии 1.3.0.

Изменено в версии 1.4.0.

axis:{0 или ‘index’, 1 или ‘columns’, None}, по умолчанию 0

Применить к каждому столбцу (или ‘columns’), к каждой строке (или ‘index’), или ко всему DataFrame сразу с None.

subset:метка, массив-подобный объект, IndexSlice, необязательно

Действительный двумерный ввод для DataFrame.loc[<subset>], или, в случае одномерного ввода или единственного ключа, для DataFrame.loc[:, <subset>] где приоритет отдается столбцам, чтобы ограничить data до перед применением функции.

**kwargs:словарь

Передать в func.

Возвращает:
Styler

См. также

Styler.map_index

Применение функции форматирования CSS к заголовкам в элементарном режиме.

Styler.apply_index

Применение функции форматирования CSS к заголовкам по уровням.

Styler.map

Применение функции форматирования CSS к элементам в элементарном режиме.

Примечания

Элементы результата func должны быть CSS-стилями в виде строк, в формате 'attribute: value; attribute2: value2; ...', или, если для данного элемента ничего не нужно применять, пустой строкой или 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/2.2.2/reference/api/pandas.io.formats.style.Styler.apply.html

Spec-Zone.ru

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