假设我已经初始化了一个包含400行,3列的矩阵/数组:
distances = np.zeros([400, 3], dtype=np.float64)
现在,我有一个返回1200个对象的for循环(浮点值),我希望将每个元素“追加”到distances
(逐行)或者将这些浮点值分配给矩阵中的每个元素:
distances[0,1] = item1,
distances[0,2] = item2,
distances[0,3] = item3,
distances[1,1] = item4,
distances[1,2] = .....
我该怎么做?我尝试了numpy.append
和numpy.insert
,但我失败了。有什么想法吗?
答案 0 :(得分:1)
收集列表中的项目,将此列表转换为NumPy数组并重新整形:
distances = np.array([item1, item2, ... item1200], dtype=float).reshape((400, 3))
答案 1 :(得分: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.]]