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