Spec-Zone.ru › pandas 1

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)  
../../_images/footer_simple.png

Поскольку объединённый объект является 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)  
../../_images/footer_extended.png

Когда 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API