python - 按其值着色 df 单元格
问题描述
我想创建一个熊猫数据框,每个单元格都根据其值进行着色,这意味着大数字的颜色会比小数字的颜色深。此外,我希望左上角和右下角的单元格为绿色,右上角和左下角的单元格为红色。类似的东西:
我最接近的是:
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])
但它用相同的颜色为右上角和左下角的单元格着色,而不是根据值渐变。
有可能做我想做的事吗?
解决方案
推荐阅读
- python - Python - 尝试按年份分组并汇总销售数据时出错
- scala - Scala 中 => 和 -> 的区别
- python - Python 统计和可视化
- android - 如何为我的 Android 计时器应用程序使用语音识别?
- python - Python 正则表达式仅过滤特定的匹配词
- sailpoint - ManagedAttribute mgAttr =context.getObjectByName("ManagedAttribute.class",
") - php - 如何在 Laravel Eloquent 的 When 子句中的 Where 闭包中添加括号
- python - Pycharm - 如何在不将本地目录标记为源根目录的情况下导入本地模块?
- ruby-on-rails - 运行简单 UPDATE 时 PostgreSQL 中的死锁
- c# - 如何逐步找到所有子节点?