- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
示例数据集(行是从一个更大的矩阵中随机提取的)
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,
import rpy2.robjects as robjects
robjects.globalenv['maskedarr'] = robjects.FloatVector(maskedarr.T.flatten())
robjects.r('''
dim(maskedarr) <- c(%d,%d)
maskedarr[] <- replace(maskedarr,!is.finite(maskedarr),NA)
''' % maskedarr.shape)
robjects.r('''
print(cov(maskedarr,use="pairwise"))
''')
[,1] [,2] [,3] [,4]
[1,] 0.0769733 0 0 0.0428294
[2,] 0.0000000 0 0 0.0000000
[3,] 0.0000000 0 0 0.0000000
[4,] 0.0428294 0 0 0.5536484
我得到一个非常不同的矩阵。如果仅针对该对删除了 nan
的成对相关性,那么我会期待类似 R 的答案 - numpy.ma.cov
说 allow_masked= True
将允许计算这些成对相关性,但似乎并非如此。我错过了什么吗?
最佳答案
您的 maskedarr
没有任何值被屏蔽。
>>> maskedarr.mask
False
初始化数组时需要包含mask
参数。
>>> maskedarr = np.ma.array(test, mask=np.isnan(test))
现在maskedarr.mask
如下。
>>> maskedarr.mask
array([[ True, True, False, False],
[ True, True, False, False],
[False, False, False, False],
[ True, True, False, False],
[ True, True, False, False],
[False, False, False, False],
[False, False, False, False],
[ True, True, False, False],
[ True, True, False, False],
[ True, True, False, False],
[ True, True, False, False],
[ True, True, False, False],
[False, False, False, False],
[ True, True, False, False],
[False, False, False, False]], dtype=bool)
这次在执行 numpy.ma.cov
时:
>>> np.ma.cov(maskedarr,rowvar=False,allow_masked=True)
masked_array(data =
[[0.0769732996251 0.0 0.0 0.0428294015418]
[0.0 0.0 0.0 0.0]
[0.0 0.0 0.0 0.0]
[0.0428294015418 0.0 0.0 0.553648402899]],
mask =
[[False False False False]
[False False False False]
[False False False False]
[False False False False]],
fill_value = 1e+20)
关于python - numpy.ma.cov - 与缺失值的成对相关性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8287573/
选项1:ViewModelA ModelA 选项2:ViewModelA ModelA * ModelA仅通过ViewModelB更改其属性,而仅更改,因此在Option2中,它无需实现任何机制即
考虑到下表,我对显示数据有一种罕见的态度: mysql> describe materiales; +-----------+--------------+------+-----+---------
我有一些时间序列数据点,我喜欢对它们执行简单的移动平均方法。如果我使用“forecast”包中的函数“ma”,我会得到以下结果: library(forecast) x<-c(1,5,2,8,6,3,
我正在尝试使用 numpy.ma.corrcoef 在存在缺失数据的情况下计算相关性。 根据文档:除了处理缺失数据外,此函数与 numpy.corrcoef 的功能相同。有关详细信息和示例,请参阅 n
我有两个(车速)信号,它们应该由类似的“潜在”驱动因素组成,但具有不同的自相关结构。驱动程序信号在统计上非常糟糕,因此我没有尝试对它们进行建模。 我可以通过使用 AR(1) 残差对信号进行预白化来获得
我无法获取 numpy.ma处理我的数据。我确定我以前用过它来屏蔽空白值,但不知道如何使用。这是显示我遇到的问题的代码片段。 import numpy as np import numpy.ma as
我这里有一个程序可以输出一个句子中的回文数。不区分大小写并忽略逗号和句点,例如当回文恰好是句子中的最后一个单词时。 #include #include using namespace std; c
numpy.ma.masked_where 用于屏蔽单个值。还有用于屏蔽间隔的 numpy.ma.masked_inside。 但是我不太明白它应该如何工作。 I found this snippet
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 6 年前。
我正在尝试子类化 numpy 的 MaskedArray添加属性,但似乎无法获得正确的结果。 我开始关注 the example用于子类化 numpy.ndarray ,效果很好。 然后我尝试子类化
我有一个页面,其中包含用于报告功能的图表和 map 菜单。然后,我选择了Highchart-Highmap库来达到上面的目的。图表功能运行良好,但是当我开发 map 功能时出现错误 TypeError
示例数据集(行是从一个更大的矩阵中随机提取的) import numpy as np test = [[np.nan, np.nan, 0.217, 0.562], [np.nan,
我注意到 numpy masked-array mean method可能不应该返回不同的类型: import numpy as np A = np.ma.masked_equal([1,1,0],
我正在使用 R 的预测包,并使用 ARIMA 函数创建了一个 MA(1) 模型。我绘制了时间序列本身($ma_model 的 x 变量)、模型本身($ma_model 的拟合变量)和残差(ma_mod
我正在尝试拍摄一个具有 h264 视频轨道和 dts-ma 音频轨道的视频,并生成一个 .m4v 文件: h264 视频轨道DTS-ma音轨AC-3 5.1音轨 我试图只复制视频和 dts-ma 音轨
我的印象是转储产生了我的 winDbg .dump /ma 不仅仅包含一个完整的转储 正在配置 WER解释 DumpType 0:自定义转储MINIDUMP_TYPE 的 CustomDumpFlag
我正在尝试编写一个子类 masked_array。到目前为止我得到的是: class gridded_array(ma.core.masked_array): def __init__(sel
我正在用 c++ 中的 openmp 做一个循环,以从 QVector 向 QMAP 中提供一些值,在某些计算机中它说“程序停止工作”,但在某些计算机中它可以工作。 我看到 Qmap 不是线程安全的,
所以我使用 numpy.ma.masked 方法在特定条件下绘制线条,但我想连接所有连续的线条。例如,使用此代码: import pylab as plt import numpy as np x =
我想从压缩的掩码数组和相应的掩码创建一个数组。用一个例子更容易解释这一点: >>> x=np.ma.array(np.arange(4).reshape((2,2)), mask = [[True,T
我是一名优秀的程序员,十分优秀!