使用数据框格式化另一个数据框的样式
Using a dataframe to format the style of another dataframe
我有一个 pandas 数据框,我想根据相同 shape/size 的另一个数据框的值设置格式样式。我正在尝试使用 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 中的值在 'red-bold'。
但是,我不确定应该使用哪种模式来获得所需的效果。
您快完成了,您需要使用带有 lambda 的 apply 函数来循环访问单元格。
t1.style.apply(lambda x: t2.applymap(color_cells), axis=None)
我有一个 pandas 数据框,我想根据相同 shape/size 的另一个数据框的值设置格式样式。我正在尝试使用 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 中的值在 'red-bold'。
但是,我不确定应该使用哪种模式来获得所需的效果。
您快完成了,您需要使用带有 lambda 的 apply 函数来循环访问单元格。
t1.style.apply(lambda x: t2.applymap(color_cells), axis=None)