Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-通过索引替换列将删除虚构的组件_Python_Arrays_Numpy_Indexing - Fatal编程技术网

Python-通过索引替换列将删除虚构的组件

Python-通过索引替换列将删除虚构的组件,python,arrays,numpy,indexing,Python,Arrays,Numpy,Indexing,我正在尝试将0的一列替换为一列,如下所示 import numpy as np a = np.zeros((2,10)) b = np.linspace(1,10,10) a[1,:] = b 它给出了正确的输出 a = [[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]] b = [ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]

我正在尝试将0的一列替换为一列,如下所示

import numpy as np
a = np.zeros((2,10))
b = np.linspace(1,10,10) 
a[1,:] = b
它给出了正确的输出

a = [[ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.]
     [ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10.]]
b = [ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10.]
然而,我试图插入的数据是复杂的,出于某种原因,这种形式的索引删除了数据的虚部。比如说

a = np.zeros((2,10))
b = np.linspace(1,10,10) * 1j #now b is imaginary
a[1,:] = b
返回以下内容

a = [[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
     [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]
b = [0. +1.j 0. +2.j 0. +3.j 0. +4.j 0. +5.j 0. +6.j 0. +7.j 0. +8.j 0. +9.j
     0.+10.j]

这显然是错误的。有没有办法避免这种情况并保持数据的复杂性?感谢

我刚刚意识到这是因为零矩阵是一种不同类型的数据,通过使用

a = np.zeros((2,2),dtype = np.complex)
如果其他人有相同的问题,请参考