创建 seaborn 热图时“无法将字符串转换为浮点数”ValueError

Posted

技术标签:

【中文标题】创建 seaborn 热图时“无法将字符串转换为浮点数”ValueError【英文标题】:When creating a seaborn heatmap 'could not convert string to float' ValueError 【发布时间】:2021-12-22 07:47:53 【问题描述】:

大家好,我有以下数据框,我想使用以下代码从中创建热图。

plt.figure(figsize=(10,10))
g = sns.heatmap(
    top_5_stations_hourly_total_traffic_by_time, 
    square=True,
    cbar_kws='fraction' : 0.01,
    cmap='OrRd',
    linewidth=1
)

g.set_xticklabels(top_5_stations_hourly_total_traffic_by_time.STATION, rotation=45, horizontalalignment='right')
g.set_yticklabels(top_5_stations_hourly_total_traffic_by_time.TIME, rotation=45, horizontalalignment='right')

但它给出了以下错误:

ValueError:无法将字符串转换为浮点数:'125 ST'

【问题讨论】:

我将站和时间列转换为分类类型,但它给出了同样的错误。我想绘制每个车站的,每个独特时间的每小时总流量值。 你应该看看这篇文章:***.com/questions/37790429/… 【参考方案1】:

pivot 调用heatmap 之前的数据:

df_heatmap = df.pivot("STATION", "TIME", "HOURLY_TOTAL_TRAFFIC")

>>> sns.heatmap(df_heatmap)

【讨论】:

非常感谢 :) @UğurSelimÖzen - 乐于助人! :) 为什么会这样? 因为数据按照包的要求进行了格式化(即布局)。

以上是关于创建 seaborn 热图时“无法将字符串转换为浮点数”ValueError的主要内容,如果未能解决你的问题,请参考以下文章

ValueError:无法将字符串转换为浮点数:'"r_version"' - 将温度转换为华氏温度时

Python“ValueError:无法将字符串转换为浮点数:%”

ValueError:无法将字符串转换为浮点数:'Mme'

我收到 ValueError:无法将字符串转换为浮点数:'8,900' [重复]

ValueError:无法将字符串转换为浮点数:使用 matplotlib、arduino 和 pyqt5 时

ValueError:无法将字符串转换为浮点数:E-3 [重复]