使用数据框格式化另一个数据框的样式

时间:2019-04-30 22:08:49

标签: pandas pandas-apply pandas-styles

我有一个熊猫数据框,我想根据另一个形状/大小相同的数据框的值来设置格式样式。我正在尝试使用applymap。

这是一个例子:

t1= pd.DataFrame({'x':['A','B','C'], 'y':['C','B','D']})
t2= pd.DataFrame({'x':[0.3,0.2,0.7], 'y':[1,0.3,2]})

def color_cells(s, threshold=0.5):
    if s > threshold:
        return 'color:{0}; font-weight:bold'.format('red')
    else:
        return ''

#Tried
t1.style.applymap(t2.applymap(color_cells))

理想情况下,在t1中,t2中的对应单元格> 0.5,然后t1中的值以“红色粗体”表示。

但是,我不确定应该使用哪种模式来获得所需的效果。

1 个答案:

答案 0 :(得分:0)

您快到了,您需要使用带有lambda的apply函数来遍历单元格。

t1.style.apply(lambda x: t2.applymap(color_cells), axis=None)