2014-02-12 55 views
0

爲什麼下面的代碼沒有在lil_matrix中設置該行的元素?設置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> 

回答

3

你的矩陣是D型int8的,但你想浮點值存儲在裏面。 NumPy將值舍入爲0,然後發現由於這是一個稀疏矩陣,因此不應顯式存儲零。

你是不是想要構造一個浮點數dtype的矩陣?