我有以下熊猫df
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
字段的相应值具有相同的颜色。
COLORS = {'BAL':'#241773','DAL':'#B0B7BC','DET':'#046EB4',
'KC':'#CA2430','NO':'#A08A58','TEN':'#4095D1'}
我尝试查看this question,但使用以下代码没有成功
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
,但没有用。任何帮助都是非常感谢的。谢谢!
发布于 2020-09-06 02:05:30
不确定是否只希望EPA列着色,如果希望整行删除最后一行中的subset
参数。
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')
https://stackoverflow.com/questions/63759891
复制相似问题