2017-01-25 49 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.]]