Python 以0+;的形式将矩阵值Numpy转换为复数值;值*i
我有一个矩阵的形式是Python 以0+;的形式将矩阵值Numpy转换为复数值;值*i,python,performance,numpy,matrix,complex-numbers,Python,Performance,Numpy,Matrix,Complex Numbers,我有一个矩阵的形式是a=numpy.matrix('1 2 3;4 5 6',dtype=complex)当然给出了输出: a=[1 2 3;4 5 6] 我想把这个矩阵变成: a=[0+1*i0+2*i0+3*i;0+4*i0+5*i0+6*i] 我可以在一个循环中逐步完成此操作,如: for i in range(2): for j in range(1): a[i,j] = complex(0, a[i,j]) 唯一的问题是我的矩阵比2x3大了一点。我想使用
a=numpy.matrix('1 2 3;4 5 6',dtype=complex)
当然给出了输出:
a=[1 2 3;4 5 6]
我想把这个矩阵变成:
a=[0+1*i0+2*i0+3*i;0+4*i0+5*i0+6*i]
我可以在一个循环中逐步完成此操作,如:
for i in range(2):
for j in range(1):
a[i,j] = complex(0, a[i,j])
唯一的问题是我的矩阵比2x3大了一点。我想使用a.astype(complex)
,但这给了我以下输出:
a=[1+0i2+0i3+0i;4+0i5+0i6+0i]
如何使用astype
将矩阵值作为虚部,将矩阵转换为所需的输出
当然,我愿意接受其他建议来加快这一速度,而不是在数组中循环遍历一百万个值
谢谢大家!
~Ave
a*np.complex('j')
?@QuangHoang非常有效,谢谢。我肯定是想得太多了