我想创建一个熊猫数据框,使每个单元格根据其值着色,这意味着较大的数字将具有比较小的数字更暗的颜色。另外,我希望左上方和右下方的单元格为绿色,而右上方和左下方的单元格为红色。 像这样的东西:
我要处理的最接近的事情是这样:
df = pd.DataFrame(np.array([[16, 20], [5, 4]]))
color1 = sns.light_palette("green", as_cmap=True)
color2 = sns.light_palette("red", as_cmap=True)
df = df.style.background_gradient(cmap=color1, subset=pd.IndexSlice[[1,0], [1,0]]).background_gradient(
cmap=color2, subset=pd.IndexSlice[1,0]).background_gradient(cmap=color2, subset=pd.IndexSlice[0, 1])
但是它用相同的颜色为右上方和左下方的单元格上色,而不是根据该值进行渐变。
可以做我想做的事吗?