来自带有 NaN 的 pandas 数据框的 seaborn 热图
Posted
技术标签:
【中文标题】来自带有 NaN 的 pandas 数据框的 seaborn 热图【英文标题】:seaborn heatmap from pandas dataframe with NaNs 【发布时间】:2019-05-16 21:27:27 【问题描述】:您好,我真的很想创建一个热图,但我很挣扎:
# correlations between undergrad studies and occupation
data_uni = n.groupby(['Q5','Q6'])['Q6'].count().to_frame(name = 'count').reset_index()
# some participants did not answer the question in the survey
data_uni.fillna('Unknown', inplace=True)
data_uni.pivot(index='Q5', columns='Q6', values='count')
plt.figure(1, figsize=(14,10))
sns.heatmap(data_uni, cmap="YlGnBu")
我得到的错误信息是 "TypeError: ufunc 'isnan' not supported for the input types, and the input could not be safe to becovered to any supported types based on the cast rule ''safe''"。
这是创建热图的正确方法吗?如果是,我做错了什么,如果不是,正确的方法是什么?谢谢您的帮助!
【问题讨论】:
【参考方案1】:根据问题GH375,您可以指定一个掩码,其中不会显示掩码值为True
的单元格的数据。
sns.heatmap(data_uni, cmap="YlGnBu", mask=data_uni.isnull())
【讨论】:
以上是关于来自带有 NaN 的 pandas 数据框的 seaborn 热图的主要内容,如果未能解决你的问题,请参考以下文章
.diff() 函数仅在 pandas 数据框中返回 NaN 值
将带有分组数据的 CSV 导入 Pandas 数据框 [重复]