pandas.io.formats.style.Styler.apply#

Styler.apply(функция, ось=0, subset=None, **kwargs)[источник]#

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

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

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

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

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

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

ось{0 или 'index', 1 или 'columns', None}, по умолчанию 0

Применить к каждому столбцу (axis=0 или 'index'), к каждой строке (axis=1 или 'columns'), или для всего DataFrame сразу с axis=None.

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

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

**kwargsdict

Передать в func.

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

Смотрите также

Styler.map_index

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

Styler.apply_index

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

Styler.map

Применить 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"])
... 

Использование 2D-ввода для 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)  

См. Визуализация таблиц руководство пользователя для подробностей.