奇怪的cmap background_gradient行为[英] Strange cmap background_gradient behavior

本文是小编为大家收集整理的关于奇怪的cmap background_gradient行为的处理方法,想解了奇怪的cmap background_gradient行为的问题怎么解决?奇怪的cmap background_gradient行为问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我发现并正在使用 @mrandrewandrade 很好的答案 使用样式化的熊猫显示波士顿住房数据的相关系数当我注意到 background_gradient() 中使用的颜色映射没有正确计算 CHAS 数据时,iPython 笔记本中的数据框.看起来 B 数据中的某些值也受到了影响.

它在传递给 background_gradient(cmap, axis=1) 命令的轴上是正确的,但在另一个轴上是正确的.如果您将该行更改为 axis=0,行轴将起作用.所有其他表格单元格似乎计算得很好.

有人可以帮助找出问题所在吗?我不知道发生了什么以及如何避免它?

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load Boston housing data into a dataframe
from sklearn.datasets import load_boston
boston = load_boston()
bos = pd.DataFrame(boston.data, columns=boston.feature_names)
bos['MEDV'] = boston.target
bos.head()

在此处输入图片描述

# using a styled panda's dataframe from https://stackoverflow.com/a/42323184/1215012
cmap = 'coolwarm'

def magnify():
    return [dict(selector="th", props=[("font-size", "7pt")]),
            dict(selector="td", props=[('padding', "0em 0em")]),
            dict(selector="th:hover", props=[("font-size", "12pt")]),
            dict(selector="tr:hover td:hover", 
                 props=[('max-width', '200px'), ('font-size', '12pt')])
]

corr.style.background_gradient(cmap, axis=1)\
    .set_properties(**{'max-width': '80px', 'font-size': '10pt'})\
    .set_caption("Hover to magify")\
    .set_precision(2)\
    .set_table_styles(magnify())

在此处输入图片描述

为了帮助突出此处的问题,我们绘制了与 seaborn 热图相同的数据:

# calculating and plotting the correlation coeff's using a seaborn heatmap
corr = bos.corr()
sns.heatmap(corr, xticklabels=corr.columns, yticklabels=corr.columns, cmap='coolwarm')

在此处输入图片描述

推荐答案

我通过遇到同样的问题找到了这个问题.这个答案解决了我的问题.

总之,貌似没有办法使用实际的backgroud_gradient DataFrame方法,但是用自定义函数实现你想要的效果也不算太复杂.

本文地址:https://www.itbaoku.cn/post/1728166.html