2017-01-25 46 views
0

比方說,我已經初始化的矩陣/陣列具有400行,第3列:插入/添加/更新元件

distances = np.zeros([400, 3], dtype=np.float64) 

現在,我有一個for循環,返回1200點的對象(浮點值),我想每個元素「追加」爲distances(逐行)或類似的矩陣分配這些浮點值的每個元素:

distances[0,1] = item1, 
distances[0,2] = item2, 
distances[0,3] = item3, 
distances[1,1] = item4, 
distances[1,2] = ..... 

我怎樣才能做到這一點?我試過numpy.appendnumpy.insert但我失敗了。有任何想法嗎?

+0

您想要更改矩陣的大小,或者希望現有400x3矩陣的元素分配那些值嗎? – dawg

+0

我想將這1200個對象(浮點值)分配到400x3矩陣 – misheekoh

回答

1

收集您在列表中的項目,轉換將此列表與NumPy陣列和重塑:

distances = np.array([item1, item2, ... item1200], dtype=float).reshape((400, 3)) 
+0

是的!這是完美的。謝謝! – misheekoh

1

如果你想隨機訪問,你可以用枚舉做(度日行存取行)和切片賦值:

distances = np.zeros([400, 3], dtype=np.float64) 

start=[1,2,3] 
for i,_ in enumerate(distances): 
    distances[i][:]=start 
    start=[x+1 for x in start] 
>>> distances 
[[ 1. 2. 3.] 
[ 2. 3. 4.] 
[ 3. 4. 5.] 
..., 
[ 398. 399. 400.] 
[ 399. 400. 401.] 
[ 400. 401. 402.]]