python - Python制作热图所需的数据结构

标签 python data-structures heatmap

编辑刚刚意识到我解析数据的方式是删除数字,所以我没有正确形状的数组。感谢 mgilson,您提供了精彩的答案!

我正在尝试使用 python 制作数据热图。我发现这个基本代码可以工作:

import matplotlib.pyplot as plt
import numpy as np

data = np.random.rand(3,3)

fig, ax = plt.subplots()
heatmap = ax.pcolor(data, cmap=plt.cm.Blues)
plt.show()

f.close()

但是,当我尝试输入当前格式为列表列表的数据时 (data=[[1,2,3],[1,2,3],[1,2,3] ]),它给了我错误:AttributeError:'list'对象没有属性'shape'。

np.random.rand() 生成/Python 用于热图的数据结构是什么?如何将列表列表转换为该数据结构?非常感谢!

这就是我的数据,如果有帮助的话:

[[0.174365079365079, 0.147356200527704, 0.172903394255875, 0.149252948885976, 0.132479381443299, 0.279736780258519, 0.134908163265306, 0.127802340702211, 0.131209302325581, 0.100632627646326, 0.127636363636364, 0.146028409090909], 
 [0.161473684210526, 0.163691529709229, 0.166841698841699, 0.144, 0.13104, 0.146225563909774, 0.131002409638554, 0.125977358490566, 0.107940372670807, 0.100862068965517, 0.13436641221374, 0.130921518987342], 
 [0.15640362225097, 0.152472361809045, 0.101713567839196, 0.123847328244275, 0.101428924598269, 0.102045112781955, 0.0999014778325123, 0.11909887359199, 0.186751958224543, 0.216221343873518, 0.353571428571429], 
 [0.155185378590078, 0.151626168224299, 0.112484210526316, 0.126333764553687, 0.108763358778626], 
 [0.792675, 0.681526248399488, 0.929269035532995, 0.741649167733675, 0.436010126582278, 0.462519447929736, 0.416332480818414, 0.135318181818182, 0.453331639135959, 0.121893919793014, 0.457028132992327, 0.462558139534884], 
 [0.779800766283525, 1.02741401273885, 0.893561712846348, 0.710062015503876, 0.425114754098361, 0.388704980842912, 0.415049608355091, 0.228122605363985, 0.128575796178344, 0.113307392996109, 0.404273195876289, 0.414923673997413], 
 [0.802428754813864, 0.601316326530612, 0.156620689655172, 0.459367588932806, 0.189442875481386, 0.118344827586207, 0.127080939947781, 0.2588, 0.490834196891192, 0.805660574412533, 3.17598959687906], 
 [0.873314136125655, 0.75143661971831, 0.255721518987342, 0.472793854033291, 0.296584980237154]]

最佳答案

这是一个numpy.ndarray。您可以根据您的数据轻松构建它:

import numpy as np
data = np.array([[1,2,3],[1,2,3],[1,2,3]])

(np.asarray 也可以工作——如果给定一个数组,它只是返回它,否则它会构造一个新的数组,而 np.array 总是构造一个新数组)

关于python - Python制作热图所需的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18904870/

相关文章:

c++ - 选择合适的数据结构

python - 使用 Bokeh 绘制具有不同半径(不同大小)和基于值的不同颜色的纬度/经度点

python - 将颜色条移近热图(Seaborn)

python - 定性热图图 python

python - 如何在元组列表上使用 reduce 函数?

python - Python 中的简单决策树(嵌套 if 语句)?

data-structures - 结构化数据 > 微数据和 Json-LD > 实体 ID > 片段标识符

algorithm - 为什么动态数组在空间不足时会特别加倍?

python - 在请求之间存储 GAE App 设置 : use webapp2 registry?

python - 导入错误 : cannot import name cross_validation