pandas.io.formats.style.Styler.concat#
- Styler.concat(other)[источник]#
Добавить другой Styler для объединения вывода в единую таблицу.
Добавлено в версии 1.5.0.
- Параметры:
- otherStyler
Другой объект 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_. Если объединены дополнительные конкатенации, их стили будут добавлены сfoot1_, ''foot_2'', и т.д., и если объединённый стиль имеет другой объединённый стиль, второй стиль будет дополнен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)