pandas.io.formats.style.Styler.concat
- Styler.concat(other)[source]
-
Добавить другой Styler для объединения вывода в одну таблицу.
Введено в версии 1.5.0.
- Параметры
-
- other:Styler
-
Другой объект Styler, который уже был стилизован и отформатирован. Данные этого Styler должны иметь те же столбцы, что и исходный, а также одинаковое количество уровней индекса для корректного рендеринга.
- Возвращает
-
- self:Styler
Примечания
Цель этого метода — расширить существующие стилизованные DataFrame с другими метриками, которые могут быть полезны, но могут не соответствовать структуре оригинала. Например, добавление строки подсчета или отображение метрик, таких как среднее значение, дисперсия или количество.
Стили, применяемые с помощью
apply,applymap,apply_indexиapplymap_index, а также форматирование, применённое с помощьюformatиformat_index, будут сохранены.Предупреждение
Только методы вывода
to_html,to_stringиto_latexв настоящее время работают с объединенными Styler.Другие методы вывода, включая
to_excel, не работают с объединенными Styler.Следует отметить следующее:
table_styles,table_attributes,captionиuuidунаследованы от исходного Styler, а не отother.скрытые столбцы и скрытые уровни индексов будут унаследованы от исходного Styler.
Распространённый случай использования — объединение пользовательских функций с
DataFrame.aggили с описанной статистикой с помощьюDataFrame.describe. См. примеры.Примеры
Распространённый случай использования — добавление строк итогов или с помощью методов, рассчитанных в
DataFrame.agg.>>> df = 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=",") ... .applymap(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 = 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/1.5.0/reference/api/pandas.io.formats.style.Styler.concat.html