gpt4 book ai didi

python - 将 pd.DataFrame Styler 对象的背景渐变色图居中

转载 作者:行者123 更新时间:2023-12-04 12:24:36 24 4
gpt4 key购买 nike

不确定是否可以利用 matplotlib 的 DivergingNorm for color maps在 pandas Styler 对象的框架下。举个例子:

import pandas as pd
import matplotlib.cm

# retrieve red-yellow-green diverging color map
cmap = matplotlib.cm.get_cmap('RdYlGn')

# create sample pd.DataFrame
ix = pd.date_range(start=pd.Timestamp(2020, 1, 1), periods=4)
df = pd.DataFrame(index=ix, columns=['D/D CHANGE'], data=[-1, 0, 2, 5])

df.style.background_gradient(cmap=cmap)

enter image description here

理想情况下,只有负(正)值会显示为红色(绿色)。

最佳答案

看起来没有将自定义规范化传递给 background_gradient 的选项。 (也许可能是在 Pandas github 上发布的功能请求)。但是您可以使用自定义函数来获得所需的结果:

def background_with_norm(s):
cmap = matplotlib.cm.get_cmap('RdYlGn')
norm = matplotlib.colors.DivergingNorm(vmin=s.values.min(), vcenter=0, vmax=s.values.max())
return ['background-color: {:s}'.format(matplotlib.colors.to_hex(c.flatten())) for c in cmap(norm(s.values))]

# create sample pd.DataFrame
ix = pd.date_range(start=pd.Timestamp(2020, 1, 1), periods=4)
df = pd.DataFrame(index=ix, columns=['D/D CHANGE'], data=[-1, 0, 2, 5])

df.style.apply(background_with_norm)

enter image description here

关于python - 将 pd.DataFrame Styler 对象的背景渐变色图居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60653380/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com