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