pandas.io.formats.style.Styler#

class pandas.io.formats.style.Styler(data, precision=None, table_styles=None, uuid=None, caption=None, table_attributes=None, cell_ids=True, na_rep=None, uuid_len=5, decimal=None, thousands=None, escape=None, formatter=None)[源代码][源代码]#

根据数据使用HTML和CSS样式化DataFrame或Series。

参数:
数据Series 或 DataFrame

要样式化的数据 - 可以是 Series 或 DataFrame。

精度int, 可选

要舍入浮点数的精度。如果未指定,则默认为 pandas.options.styler.format.precision

在 1.4.0 版本发生变更.

table_styles类似列表,默认为 None

列表为 {selector: (attr, value)} 字典;见注释。

uuidstr, 默认为 None

一个唯一的标识符以避免CSS冲突;自动生成。

标题str, tuple, 默认 None

附加到表格的字符串标题。仅用于LaTeX双标题的元组。

table_attributesstr, 默认为 None

<table> 标签中显示的项目,除了自动(默认)id之外。

cell_ids布尔值, 默认为 True

如果为真,每个单元格在其HTML标签中将有一个 id 属性。id 的形式为 T_<uuid>_row<num_row>_col<num_col> ,其中 <uuid> 是唯一标识符,<num_row> 是行号,<num_col> 是列号。

na_repstr, 可选

缺失值的表示。如果 na_rep 为 None,则不应用特殊格式,并回退到 pandas.options.styler.format.na_rep

uuid_lenint, 默认 5

如果 uuid 未指定,则要随机生成的 uuid 的长度以十六进制字符表示,范围为 [0, 32]。

decimalstr, 可选

用于浮点数、复数和整数的十进制分隔符。如果未指定,则使用 pandas.options.styler.format.decimal

Added in version 1.3.0.

thousandsstr, 可选, 默认 None

用于浮点数、复数和整数千位分隔符的字符。如果未指定,则使用 pandas.options.styler.format.thousands

Added in version 1.3.0.

escapestr, 可选

使用 ‘html’ 将单元格显示字符串中的字符 &, <, >, ', 和 " 替换为 HTML 安全的序列。

使用 ‘latex’ 将单元格显示字符串中的字符 &, %, $, #, _, {, }, ~, ^, 和 \ 替换为 LaTeX 安全序列。使用 ‘latex-math’ 以与 ‘latex’ 模式相同的方式替换字符,除了数学子字符串,这些子字符串要么被两个字符 $ 包围,要么以字符 \( 开始并以 \) 结束。如果未给出,则使用 pandas.options.styler.format.escape

Added in version 1.3.0.

formatterstr, 可调用, dict, 可选

对象用于定义值的显示方式。参见 Styler.format。如果未指定,则使用 pandas.options.styler.format.formatter

Added in version 1.4.0.

属性

env

(Jinja2 jinja2.Environment)

template_html

(Jinja2 模板)

template_html_table

(Jinja2 模板)

template_html_style

(Jinja2 模板)

template_latex

(Jinja2 模板)

加载器

(Jinja2 加载器)

参见

DataFrame.style

返回一个包含用于构建 DataFrame 样式 HTML 表示方法的 Styler 对象。

备注

警告

Styler 主要用于在你控制的安全输入上使用。当使用 Styler 处理不受信任的用户提供输入以提供 HTML 时,你应该设置 escape="html" 以防止安全漏洞。更多信息请参见 Jinja2 文档中关于转义 HTML 的部分。

大多数样式将通过将样式函数传递给 Styler.applyStyler.map 来完成。样式函数应返回包含 CSS 'attr: value' 的字符串,这些字符串将应用于指示的单元格。

如果在 Jupyter notebook 中使用,Styler 已经定义了一个 _repr_html_ 来自动渲染自身。否则调用 Styler.to_html 来获取生成的 HTML。

CSS 类被附加到生成的 HTML 中

  • 索引和列名包括 index_namelevel<k> 其中 k 是其在 MultiIndex 中的层级。

  • 索引标签单元格包括

    • row_heading

    • row<n> 其中 n 是行的数字位置

    • level<k> 其中 k 是 MultiIndex 中的层级

  • 列标签单元格包括 * col_heading * col<n> 其中 n 是列的数字位置 * level<k> 其中 k 是 MultiIndex 中的级别

  • 空白单元格包含 blank

  • 数据单元格包括 data

  • 修剪的单元格包括 col_trimrow_trim

任何、所有或这些类都可以通过在 Styler.set_table_classes 中使用 css_class_names 参数来重命名,给出一个如 {“row”: “MY_ROW_CLASS”, “col_trim”: “”, “row_trim”: “”} 的值。

例子

>>> df = pd.DataFrame(
...     [[1.0, 2.0, 3.0], [4, 5, 6]], index=["a", "b"], columns=["A", "B", "C"]
... )
>>> pd.io.formats.style.Styler(
...     df, precision=2, caption="My table"
... )  

请参见:表格可视化 以获取更多示例。

属性

env

加载器

template_html

template_html_style

template_html_table

template_latex

template_string

方法

apply(func[,axis,subset])

应用一个CSS样式函数,按列、按行或按表格。

apply_index(func[,axis,level])

对索引或列标题应用CSS样式函数,按级别进行。

background_gradient([cmap, low, high, axis, ...])

以渐变样式着色背景。

条形图([subset, axis, color, cmap, width, ...])

在单元格背景中绘制条形图。

clear()

重置 Styler ,移除任何之前应用的样式。

concat(other)

将另一个 Styler 附加到组合输出为一个表格。

导出()

导出应用于当前 Styler 的样式。

format([formatter, subset, na_rep, ...])

格式化单元格的文本显示值。

format_index([formatter, axis, level, ...])

格式化索引标签或列标题的文本显示值。

format_index_names([formatter, axis, level, ...])

格式化索引名称或列名称的文本显示值。

from_custom_template(searchpath[, ...])

用于创建 Styler 子类的工厂函数。

隐藏([subset, axis, level, names])

隐藏整个索引 / 列标题,或从显示中隐藏特定的行 / 列。

highlight_between([subset, color, axis, ...])

用一种样式突出显示定义的范围。

highlight_max([subset, color, axis, props])

用样式突出显示最大值。

highlight_min([subset, color, axis, props])

用一种风格突出显示最小值。

highlight_null([颜色, 子集, 属性])

用样式突出显示缺失值。

highlight_quantile([subset, color, axis, ...])

使用样式突出显示由分位数定义的值。

map(func[, subset])

逐元素应用一个CSS样式函数。

map_index(func[, axis, level])

对索引或列标题应用CSS样式函数,逐元素进行。

pipe(func, *args, **kwargs)

应用 func(self, *args, **kwargs),并返回结果。

relabel_index(labels[, axis, level])

重新标记索引或列标题的键,以显示一组指定的值。

set_caption(caption)

设置添加到 <caption> HTML 元素的文本。

set_properties([subset])

为给定的子集中的每个 <td> HTML 元素设置定义的 CSS 属性。

set_sticky([axis, pixel_size, levels])

添加 CSS 以在滚动框架中永久显示索引或列标题。

set_table_attributes(attributes)

设置添加到 <table> HTML 元素的表格属性。

set_table_styles([table_styles, axis, ...])

设置包含在 <style> HTML 元素中的表格样式。

set_td_classes(classes)

设置 <td> HTML 元素的 class 属性。

set_tooltips(ttips[, props, css_class, ...])

Styler 上设置字符串的 DataFrame 生成 :hover 工具提示。

set_uuid(uuid)

设置应用于 HTML 元素 id 属性的 uuid。

文本渐变([cmap, low, high, axis, ...])

以渐变样式为文本着色。

to_excel(excel_writer[, sheet_name, na_rep, ...])

将 Styler 写入 Excel 表格。

to_html([buf, table_uuid, table_attributes, ...])

将 Styler 写入文件、缓冲区或字符串,格式为 HTML-CSS。

to_latex([buf, column_format, position, ...])

将 Styler 写入文件、缓冲区或字符串,格式为 LaTeX。

to_string([buf, encoding, sparse_index, ...])

以文本格式将样式器写入文件、缓冲区或字符串。

使用(样式)

设置当前 Styler 的样式。