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[:,] где столбцы имеют приоритет, чтобы ограничитьdatato до применение функции.- **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)
См. Визуализация таблиц руководство пользователя для подробностей.