Python:Pandas如何突出显示标题行

问题描述

以下是突出显示表中所有行的函数:

def highlight(s): 
if s.Points == 10 or s.Points == 15:
    return ['background-color : #d9ead3']*3
elif s.Points == 8 or s.Points == 6:
    return ['background-color : #cfe2f3']*3
elif s.Points == 5:
    return ['background-color : #f4cccc']*3
elif s.Points == 4:
    return ['background-color : #fff2cc']*3
elif s.Points == 3:
    return ['background-color : #d9d2e9']*3
elif s.Points == 2:
    return ['background-color : #c9daf8']*3
elif s.Points == 1:
    return ['background-color : #ead1dc']*3
else:
    return ['background-color : white']*3

然后我像这样调用该函数:

dfnew = df.style.apply(highlight,axis = 1).set_table_styles([{'selector' : '','props' : [('border','2px solid black')]}]).set_properties(**{'font-size':'11pt'}) 

我还要突出显示“标题”行(“排名”,“ GolferName”,“积分”)。我该怎么办?

这是我的桌子的样子:

enter image description here

解决方法

您尝试过吗?

col_loc_1 = df.columns.get_loc('Rank') + 2
col_loc_1 = df.columns.get_loc('GolferName') + 2

df.style.apply(highlight,axis = 1).set_table_styles(
     [{'selector': f'th:nth-child({col_loc_1})','props': [('background-color','#ff0')]},{'selector': f'th:nth-child({col_loc_1})','#00F')]}])

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...