首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何根据字典值为pandas数据框的各个单元格着色

如何根据字典值为pandas数据框的各个单元格着色
EN

Stack Overflow用户
提问于 2020-09-06 01:20:25
回答 1查看 140关注 0票数 0

我有以下熊猫df

代码语言:javascript
运行
AI代码解释
复制
      Player    Team     EPA
0   L.Jackson   BAL     0.33
1   P.Mahomes   KC      0.25
2   D.Brees     NO      0.24
3   M.Stafford  DET     0.21
4   D.Prescott  DAL     0.19
5   R.Tannehill TEN     0.18

我希望通过应用以下字典值来使用颜色设置样式,其中键与Team字段匹配。我还想使Player字段的相应值具有相同的颜色。

代码语言:javascript
运行
AI代码解释
复制
COLORS = {'BAL':'#241773','DAL':'#B0B7BC','DET':'#046EB4',
          'KC':'#CA2430','NO':'#A08A58','TEN':'#4095D1'}

我尝试查看this question,但使用以下代码没有成功

代码语言:javascript
运行
AI代码解释
复制
def highlight_cols(s, coldict):
    if qbs.Team in COLORS.keys():
        return ['background-color: {}'.format(COLORS[qbs.Team])] * len(s)
    return [''] * len(s)

qbs.style.apply(highlight_cols, coldict=COLORS)

我一直在通读DataFrame.style documentation,并一直在试图找出一种方法,让我可以对字典中与Team对应的每个十六进制值进行着色。在文档的notebook的单元格5和单元6中,它展示了如何编写函数并使用df.style.applymap()应用函数,但我不完全确定如何执行此特定函数。我试着使用.loc,但没有用。任何帮助都是非常感谢的。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-06 02:05:30

不确定是否只希望EPA列着色,如果希望整行删除最后一行中的subset参数。

代码语言:javascript
运行
AI代码解释
复制
def highlight_cols(s, coldict):
    return ['background-color: {}'.format(COLORS[v]) if v else '' for v in qbs.Team.isin(COLORS.keys())*qbs.Team.values]
    

qbs.style.apply(highlight_cols, coldict=COLORS, subset='EPA')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63759891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档