问题描述
以下是突出显示表中所有行的函数:
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”,“积分”)。我该怎么办?
这是我的桌子的样子:
解决方法
您尝试过吗?
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')]}])