Python用随机数替换数组中的每个虚值

Python用随机数替换数组中的每个虚值,python,arrays,numpy,complex-numbers,replaceall,Python,Arrays,Numpy,Complex Numbers,Replaceall,我有一个 array([[ 0.01454911+0.j, 0.01392502+0.00095922j, 0.00343284+0.00036535j, 0.00094982+0.0019255j , 0.00204887+0.0039264j , 0.00112154+0.00133549j, 0.00060697+0.j], [ 0.02179418+0.j, 0.01010125-0.00062646j, 0.00

我有一个

array([[ 0.01454911+0.j,  0.01392502+0.00095922j,
         0.00343284+0.00036535j, 0.00094982+0.0019255j ,
         0.00204887+0.0039264j , 0.00112154+0.00133549j,  0.00060697+0.j],
       [ 0.02179418+0.j,  0.01010125-0.00062646j,
         0.00086327+0.00495717j, 0.00204473-0.00584213j,
         0.00159394-0.00678094j, 0.00121372-0.0043044j , 0.00040639+0.j]])
我需要一个解决方案,该解决方案使我能够用以下生成的随机值来替换虚拟分量:

numpy.random.vonmises(mu, kappa, size=size)

结果数组的形式必须与第一个数组的形式相同

尝试使用这种方法:

  • 将数字存储到二维数组中:实部和虚部
  • 然后用随机选择的数字替换虚部

尝试使用以下方法:

  • 将数字存储到二维数组中:实部和虚部
  • 然后用随机选择的数字替换虚部

在数字上循环,并将其设置为您喜欢的值。需要定义
numpy.random.vonmises
函数的参数
mu
kappa
,因为在下面的示例中,这些参数未定义

import numpy as np

data = np.array([[ 0.01454911+0.j,  0.01392502+0.00095922j,
         0.00343284+0.00036535j, 0.00094982+0.0019255j ,
         0.00204887+0.0039264j , 0.00112154+0.00133549j,  0.00060697+0.j],
       [ 0.02179418+0.j,  0.01010125-0.00062646j,
         0.00086327+0.00495717j, 0.00204473-0.00584213j,
         0.00159394-0.00678094j, 0.00121372-0.0043044j , 0.00040639+0.j]])

def setRandomImag(c):
    c.imag = np.random.vonmises(mu, kappa, size=size)
    return c

data = [ setRandomImag(i) for i in data]

循环这些数字,并将它们设置为您喜欢的值。需要定义
numpy.random.vonmises
函数的参数
mu
kappa
,因为在下面的示例中,这些参数未定义

import numpy as np

data = np.array([[ 0.01454911+0.j,  0.01392502+0.00095922j,
         0.00343284+0.00036535j, 0.00094982+0.0019255j ,
         0.00204887+0.0039264j , 0.00112154+0.00133549j,  0.00060697+0.j],
       [ 0.02179418+0.j,  0.01010125-0.00062646j,
         0.00086327+0.00495717j, 0.00204473-0.00584213j,
         0.00159394-0.00678094j, 0.00121372-0.0043044j , 0.00040639+0.j]])

def setRandomImag(c):
    c.imag = np.random.vonmises(mu, kappa, size=size)
    return c

data = [ setRandomImag(i) for i in data]
它给了我的整个
n_epoch
相同的假想值。这不是我想要的,但解决了我的问题


它给了我的整个
n_epoch
相同的假想值。不完全是我想要的,但解决了我的问题。

使用
size
作为原始数组的大小?在这种情况下,可能
numpy.real(a)+numpy.random.vonmises(mu,kappa,size=size)*complex(0,1))
是的,谢谢。你的解决方法给了我一个好主意。非常感谢。如果
size
是原始数组的大小?在这种情况下,可能
numpy.real(a)+numpy.random.vonmises(mu,kappa,size=size)*complex(0,1))
是的,谢谢。你的解决方法给了我一个好主意。非常感谢。我也考虑过这个解决方案,但我的阵列不能改变。我在以后的计算中需要它,我也考虑过这个解决方案,但是我的数组不能改变。我需要它,以便以后以相同的形式进行计算。可能您没有正确编写代码,因为它不起作用。如果我用固定值替换随机值的赋值,例如
10
,它就可以正常工作。我特别写道,
random.vonmises
的参数需要以某种方式定义。可能您没有正确编写代码,因为它不起作用。如果我将随机值的赋值替换为固定值,例如
10
,它就可以正常工作。我特别写道,
random.vonmises
的参数需要以某种方式定义。