在Python中使用for循环将向量强制转换为矩阵
我使用linspace创建了一个长度为50的列表:在Python中使用for循环将向量强制转换为矩阵,python,loops,matrix,vector,reshape,Python,Loops,Matrix,Vector,Reshape,我使用linspace创建了一个长度为50的列表: m=np.linspace(0,10,50) 我可以使用“重塑”将其重铸为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 以下是错
m=np.linspace(0,10,50)
我可以使用“重塑”将其重铸为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
变量
m
是什么?您的代码假定它已经是某种二维结构,但您从未定义过它。