[英]Casting a vector into a matrix in Python using for-loops
我有一个使用 linspace 创建的长度为 50 的列表:
m=np.linspace(0,10,50)
我可以使用 reshape 将其重新转换为 10 X 5 矩阵
X=np.reshape(m,(10,5))
但是,如果我想使用 for 循环来做同样的事情,我会收到一个错误:
z=np.zeros((10,5),dtype=float)
s=0
for i in range(0,10):
for j in range(0,5):
m[i][j]=z[s]
s=s+1
这是错误:
'numpy.float64' 对象不支持项目分配
为什么不支持项目分配?
谢谢
z
将在重塑后从m
存储您的项目:
m=np.linspace(0,10,50)
z=np.zeros((10,5),dtype=float)
for i in range(10):
for j in range(5):
z[i][j]=m[i * 5 + j] # compute the index from m base on the current row and column
print(z)
这是一个愚蠢的错误:
是的,我弄错了尺寸; 这就是我重写它的方式:
m=np.linspace(0,10,50)
z=np.zeros((10,5),dtype=float)
s=0
for i in range(0,10):
for j in range(0,5):
z[i][j]=m[s]
s=s+1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.