我有一个SimpleNamespace对象列表。P的第三个元素可能如下所示:
namespace(idx=2, values=[(0, 6), (4, 25), (7, 40), (11, 44), (13, 46), (20, 53)])
我想创建一个否则为0的矩阵,它在values
中的元组给出的所有坐标处取值idx
(第4行的矩阵元素,第25列是2),最终将其输入热图。做这件事最有助于Python的方法是什么?你知道吗
在嵌套循环中提取元组和idx似乎是在浪费SimpleNamespace类型。创建一个像dokèu矩阵这样的稀疏矩阵并不是很有利,因为这样你就必须转换成一个合适的矩阵来计算热图(?)你知道吗
编辑:我的尝试(这很麻烦,并且会抛出一个错误bc热图不会接受dok\ U矩阵)
from scipy.sparse import dok_matrix
import seaborn as sns
#P is a list of namespaces as shown above
S = dok_matrix((10000, 10000), dtype=np.int32)
for i in range(len(P)):
no_tuples = len(P[i].values)
for j in range(no_tuples):
S[P[i].values[j][0], P[i].values[j][1]] = P[i].idx
sns.heatmap(S)
要从您给出的样本中生成
coo
矩阵:对所有名称空间重复此操作。你知道吗
相关问题 更多 >
编程相关推荐