sns.heatmap 画图报错TypeError: ufunc ‘isnan‘ not supported for the input types, and the inputs could not

本文讲述了如何在遇到Pandas DataFrame中数据类型不匹配时,通过astype()函数将float类型转换为object,以便于创建热力图。通过实例展示了如何使用Seaborn绘制带有中文标签的二维热力图,并分享了解决中文显示问题的方法。
摘要由CSDN通过智能技术生成

报错原因:
我画的是pandas 的DataFrame 的类型。然后问题就在于我的数据是float的,但是我的特征是object于是就引发了上述的错误:
在这里插入图片描述
于是就修改特征数据类型:

df3[list(df3.columns)]=df3[list(df3.columns)].astype(float)

再运行如下代码,问题解决:

sns.set(font='SimHei',font_scale=1.0)  # 解决Seaborn中文显示问题并调整字体大小
fig, ax = plt.subplots(figsize = (18,20))
#二维的数组的热力图,横轴和数轴的ticklabels要加上去的话,既可以通过将array转换成有column
#和index的DataFrame直接绘图生成,也可以后续再加上去。后面加上去的话,更灵活,包括可设置labels大小方向等。
sns.heatmap(df3, annot=True, vmax=1,vmin = 0, xticklabels= True, yticklabels= True, square=True, cmap="YlGnBu")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值