我有一个numpy数组X,其中包含
我的问题是我不知道如何快速高效地输入它们。我上面举的例子只是一个非常小的数据集,但我有一个要大得多的数据集。因此,效率至关重要。
如果我尝试:
nan
值。X = np.array([[ 1., 2., 3.],
[ 4., nan, 54.],
[ 90., 32., nan],
[ 55., 42., 86.]])
我想用一个不同的随机数替换所有NaN值。 我可以使用np.random.randn()
轻松生成随机数。 我可以使用掩码来定位和计算NaN值。
mx = ma.masked_array(X,mask=np.isnan(X)) //locate nans
mx.mask.sum() // count nans so I know how many random values to generate
我的问题是我不知道如何快速高效地输入它们。我上面举的例子只是一个非常小的数据集,但我有一个要大得多的数据集。因此,效率至关重要。
如果我尝试:
X[mx.mask] = np.random.randn() //or
X[mx.mask]=np.random.randn(mx.mask.sum())
我将每个nan替换为同一个随机数,这不是我想要的结果,或者在第二个示例中会出现广播错误。
有什么建议吗?