pandas.io.formats.style.Styler.set_tooltips#

Styler.set_tooltips(ttips, props=None, css_class=None, as_title_attribute=False)[源代码][源代码]#

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

这些基于字符串的工具提示仅适用于 <td> HTML 元素,不能用于列或索引标题。

Added in version 1.3.0.

参数:
ttipsDataFrame

包含将被翻译为工具提示的字符串的 DataFrame,通过必须存在于底层 Styler 数据中的相同列和索引值进行映射。None、NaN 值和空字符串将被忽略,不会影响渲染的 HTML。

props列表类或字符串,可选

列表的 (attr, value) 元组或有效的 CSS 字符串。如果 None 则采用注释中描述的内部默认值。

css_classstr, 可选

CSS中使用的工具提示类的名称,应符合HTML标准。只有在将工具提示与外部CSS集成时才有用。如果为``None``,则使用内部默认值’pd-t’。

as_title_attributebool, 默认 False

将工具提示文本作为标题属性添加到生成的 <td> 元素中。如果为 True,则忽略 props 和 css_class 参数。

返回:
Styler

备注

工具提示是通过在每个数据单元格中添加 <span class=”pd-t”></span> 来创建的,然后通过操作表级 CSS 来附加伪悬停和伪之后选择器,以产生所需的结果。

工具提示 CSS 类的默认属性是:

  • visibility: hidden

  • position: absolute

  • z-index: 1

  • background-color: black

  • 颜色:白色

  • transform: translate(-20px, -20px)

属性 ‘visibility: hidden;’ 是悬停功能的关键前提,并且应始终在使用 props 参数的任何手动属性规范中包含。

工具提示并不是为了高效设计的,对于较大的表格,它们可能会增加大量的额外HTML,因为它们还要求 cell_ids 被强制设置为 True

如果需要多行工具提示,或者不需要样式和/或空间有限,则将 as_title_attribute 设置为 True 会将工具提示存储在 <td> 的 title 属性中。这将不会生成任何 CSS,也不会生成 <span> 元素。通过 title 属性存储工具提示意味着工具提示样式效果不适用。

例子

基本应用

>>> df = pd.DataFrame(data=[[0, 1], [2, 3]])
>>> ttips = pd.DataFrame(
...     data=[["Min", ""], [np.nan, "Max"]], columns=df.columns, index=df.index
... )
>>> s = df.style.set_tooltips(ttips).to_html()

可选地控制工具提示的视觉显示

>>> df.style.set_tooltips(
...     ttips,
...     css_class="tt-add",
...     props=[
...         ("visibility", "hidden"),
...         ("position", "absolute"),
...         ("z-index", 1),
...     ],
... )  
>>> df.style.set_tooltips(
...     ttips,
...     css_class="tt-add",
...     props="visibility:hidden; position:absolute; z-index:1;",
... )
... 

多行工具提示,占用较小尺寸

>>> df.style.set_tooltips(ttips, as_title_attribute=True)