【发布时间】:2020-09-01 11:18:42
【问题描述】:
我一直在尝试将一个数组中的值分配给另一个数组,特别是从一个有值的数组到一个 zeros 数组。这些值在 zeros 数组中的位置也非常重要。这也是更大代码的一小部分,更大的图景是能够将 excel 电子表格中的值导入零矩阵。这是我的问题:
import numpy as np
x = np.zeros((2,3))
P= np.asarray ([1,2,3,4,5,6])
for i in range(0,2):
for j in range(0,3):
x[i,j] = P[(i-1)*3+j] # 3 is the counter in x direction, nx
x
使用此代码,输出是(这是我想要的):
array([[4., 5., 6.],
[1., 2., 3.]])
但是,如果我尝试扩展数组,如下所示:
import numpy as np
x = np.zeros((3,3))
P= np.asarray ([1,2,3,4,5,6,7,8,9])
for i in range(0,3):
for j in range(0,3):
x[i,j] = P[(i-1)*3+j] # 3 is the counter in x direction, nx
x
输出是:
array([[7., 8., 9.],
[1., 2., 3.],
[4., 5., 6.]])
我希望输出是:
array([[7., 8., 9.],
[4., 5., 6.],
[1., 2., 3.]])
输出随着数组的扩展而变化的原因是什么?
【问题讨论】:
标签: python arrays numpy assign