background_gradient按数据框而不是按列或行

时间:2020-11-06 08:19:42

标签: python pandas

这非常符合我的需求:

index= ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
cols = ['A', 'B', 'C', 'D']
df = pd.DataFrame(np.random.randn(5, 4), index=index, columns=cols)
df.style.background_gradient(cmap='Reds')

唯一的问题是颜色阴影基于按列对值的排名。我想将其应用于框架中的所有数字。因此,数据框中最大的x%应该显示最暗的红色。像这样,如果从整体上看框架,数字共享相同的颜色,但幅度却大不相同。

1 个答案:

答案 0 :(得分:1)

我相信您正在寻找axis=None参数:

index= ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
cols = ['A', 'B', 'C', 'D']
df = pd.DataFrame(np.random.randn(5, 4), index=index, columns=cols)
df["B"] *= 10


df.style.background_gradient(cmap='Reds', axis=None)

enter image description here