示例数据集(行是从大得多的矩阵中随机抽取的)
import numpy as np
test = [[np.nan, np.nan, 0.217, 0.562],
[np.nan, np.nan, 0.217, 0.562],
[0.269, 0.0, 0.217, 0.562],
[np.nan, np.nan, 0.217, -0.953],
[np.nan, np.nan, 0.217, -0.788],
[0.75, 0.0, 0.217, 0.326],
[0.207, 0.0, 0.217, 0.814],
[np.nan, np.nan, 0.217, 0.562],
[np.nan, np.nan, 0.217, -0.022],
[np.nan, np.nan, 0.217, 0.562],
[np.nan, np.nan, 0.217, -0.953],
[np.nan, np.nan, 0.217, -0.953],
[0.078, 0.0, 0.217, -0.953],
[np.nan, np.nan, 0.217, -0.953],
[0.078, 0.0, 0.217, 0.562]]
maskedarr = np.ma.array(test)
np.ma.cov(maskedarr,rowvar=False,allow_masked=True)
[[-- -- -- --]
[-- -- -- --]
[-- -- 0.0 0.0]
[-- -- 0.0 0.554]]
但是,如果我用R
^{pr2}$我得到了一个完全不同的矩阵。如果两两相关是在移除nan
的情况下得到的,那么我希望类似R的答案-numpy.ma.cov
说,allow_masked=True
将允许计算这些成对关联,但似乎并非如此。我错过什么了吗?在
您的
maskedarr
没有任何值被屏蔽。在初始化数组时需要包含
^{pr2}$mask
参数。在现在
maskedarr.mask
如下所示。在这次做
numpy.ma.cov
时:相关问题 更多 >
编程相关推荐