设置lil_matrix元素

时间:2014-02-12 00:37:02

标签: python numpy scipy

为什么下面的代码没有在lil_matrix

中设置行的元素
    for i in range(k):
        val = random.uniform(0, math.sqrt(5.0/float(k)))
        print val
        q[movie_id, i] = val
    print repr(q.getrow(movie_id))

输出

0.409419926697
0.0738510208877
0.389643102199
0.196197313266
0.455269767754
0.0180136881495
0.477090181128
0.20090686778
0.219917573507
0.239565179724
0.287646325115
0.370173110788
0.354909675867
0.328178740109
0.393251208887
0.0526814336142
0.357039191946
0.493527054114
0.318013696588
0.0736954887361
<1x20 sparse matrix of type '<type 'numpy.int8'>'
        with 0 stored elements in LInked List format>

1 个答案:

答案 0 :(得分:3)

您的矩阵是dtype int8,但您正在尝试在其中存储浮点值。 NumPy将值舍入为0,然后发现由于这是一个稀疏矩阵,因此不应显式存储零。

你的意思是构造一个浮点dtype矩阵吗?