将鼠标悬停在 pandas 数据框上时如何注释标签

How to annotate labels when you hover over a pandas dataframe

我有一个 pandas 数据框,如下所示:

import pandas as pd
foo = pd.DataFrame({'temp': ['message1', 'message2', 'message3'], 'var2': [1,2,3], 'col3':[4,5,6]})

我还有以下词典

foo_dict = {'message1' : 'i am message 1', 'message2': 'i am foo',  'message3': 'i am lala', 'var2' : ' another random message', 'col3': 'more random messages'}

我想设置此 pandas 数据框的样式,以便每当我将鼠标悬停在数据框的某个元素上时,如果此元素(可以是单元格或列)存在于 foo_dict.keys(), 我希望相应的 foo_dict.value() 被注释

pandas可以吗?

作为 Styler Enhancements in pandas 1.3.0 there is now a set_tooltips 函数的一部分,可用于为 DataFrame 中的单元格设置工具提示。

请注意,这目前仅限于“基于字符串的工具提示 [that] 仅适用于 HTML 元素,不能用于列或索引 headers。”

import pandas as pd

foo = pd.DataFrame({
    'temp': ['message1', 'message2', 'message3'],
    'var2': [1, 2, 3],
    'col3': [4, 5, 6]
})

# Setup a DataFrame with corresponding hover values
tooltips_df = pd.DataFrame({
    'temp': ['i am message 1', 'i am foo', 'i am lala'],
    'var2': ' another random message',
    'col3': 'more random messages'
})

# Assign tooltips
foo.style.set_tooltips(tooltips_df)