Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在dataframe的单个列中以不同方式突出显示每个唯一的字符串值?_Python_Pandas_Styling - Fatal编程技术网

Python 如何在dataframe的单个列中以不同方式突出显示每个唯一的字符串值?

Python 如何在dataframe的单个列中以不同方式突出显示每个唯一的字符串值?,python,pandas,styling,Python,Pandas,Styling,我在Pandas中有一个数据帧,我想让它对用户更具可读性。有许多列/行以及字符串和浮点的混合 我有一个列,我们称之为“类型”,它有大约5个唯一的可能值,比如“水果”、“蔬菜”、“豆类”、“液体”、“肉” 我希望“水果”总是突出显示,比如说“黄色”“蔬菜”的背景色应始终为“绿色”,等等 如何在熊猫中生成此样式? 我遇到了很多问题,因为这不是一个典型的用例(大多数样式都假设整数/浮点数被高亮显示) 我尝试过使用applymap,但似乎不知道如何让它高亮显示一个字符串,并且只显示在一列中 谢谢大家!

我在Pandas中有一个数据帧,我想让它对用户更具可读性。有许多列/行以及字符串和浮点的混合

我有一个列,我们称之为“类型”,它有大约5个唯一的可能值,比如“水果”、“蔬菜”、“豆类”、“液体”、“肉”

我希望“水果”总是突出显示,比如说“黄色”“蔬菜”的背景色应始终为“绿色”,等等

如何在熊猫中生成此样式?

我遇到了很多问题,因为这不是一个典型的用例(大多数样式都假设整数/浮点数被高亮显示)

我尝试过使用applymap,但似乎不知道如何让它高亮显示一个字符串,并且只显示在一列中

谢谢大家!

使用:

颜色值使用

def styler(col):
    # We only want to apply style to the Type column
    if col.name != 'Type':
        return [''] * len(col)

    bg_color = col.map({
        'Fruit': 'yellow',
        'Vegetable': 'green',
        'Liquid': 'rgb(0,0,255)',
    }).fillna('') # a fallback for fruits we haven't colorized
    return 'background-color:' + bg_color

df.style.apply(styler)