pandas.io.formats.style.Styler.concat
- Styler.concat(other)[source]
-
Добавить другой Styler для объединения вывода в одну таблицу.
Добавлена в версии 1.5.0.
- Параметры:
-
- other:Styler
-
Другой объект Styler, который уже был стилизован и отформатирован. Данные для этого Styler должны иметь те же столбцы, что и исходный, а количество уровней индексов также должно быть одинаковым для корректного отображения.
- Возвращает:
-
- Styler
Примечания
Цель этого метода — расширить существующие стилизованные фреймы данных другими метриками, которые могут быть полезными, но могут не соответствовать структуре оригинала. Например, добавление строки с подсчетом итогов или отображения метрик, таких как среднее, дисперсия или подсчет.
Стили, примененные с помощью
apply,map,apply_indexиmap_index, и форматирование, примененное с помощьюformatиformat_index, будут сохранены.Предупреждение
Только методы вывода
to_html,to_stringиto_latexв настоящее время работают с объединенными Stylers.Другие методы вывода, включая
to_excel, не работают с объединенными Stylers.Следует учитывать следующее:
table_styles,table_attributes,captionиuuidунаследованы от исходного Styler, а не отother.скрытые столбцы и скрытые уровни индексов будут унаследованы от исходного Styler
cssбудет унаследован от исходного Styler, а значение ключейdata,row_headingиrowбудет добавлено с префиксомfoot0_. Если цепочка конкатенаций Stylers продолжена, их стили будут добавляться с префиксомfoot1_, ‘’foot_2’’, и т. д. Если стили объединены другими Stylers, второй стиль будет добавлен с префиксомfoot{parent}_foot{child}_.
Общее применение — конкатенация пользовательских функций с
DataFrame.aggили со статистическими описаниями черезDataFrame.describe. Смотрите примеры.Примеры
Общее применение — добавление строк с итогами или других значений, вычисляемых методами в
DataFrame.agg.>>> df = pd.DataFrame([[4, 6], [1, 9], [3, 4], [5, 5], [9, 6]], ... columns=["Mike", "Jim"], ... index=["Mon", "Tue", "Wed", "Thurs", "Fri"]) >>> styler = df.style.concat(df.agg(["sum"]).style)
Поскольку объединенный объект — Styler, можно использовать существующую функциональность для условного форматирования его и исходного объекта.
>>> descriptors = df.agg(["sum", "mean", lambda s: s.dtype]) >>> descriptors.index = ["Total", "Average", "dtype"] >>> other = (descriptors.style ... .highlight_max(axis=1, subset=(["Total", "Average"], slice(None))) ... .format(subset=("Average", slice(None)), precision=2, decimal=",") ... .map(lambda v: "font-weight: bold;")) >>> styler = (df.style ... .highlight_max(color="salmon") ... .set_table_styles([{"selector": ".foot_row0", ... "props": "border-top: 1px solid black;"}])) >>> styler.concat(other)Если у
otherменьше уровней индексов, чем у исходного Styler, можно расширить индекс вother, с уровнями-заполнителями.>>> df = pd.DataFrame([[1], [2]], ... index=pd.MultiIndex.from_product([[0], [1, 2]])) >>> descriptors = df.agg(["sum"]) >>> descriptors.index = pd.MultiIndex.from_product([[""], descriptors.index]) >>> df.style.concat(descriptors.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.concat.html