问题标签 [masked-array]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 在 for 循环中追加列表数组
我有一个掩码数组 Xpos:
当我问Xpos[3000,:]
这是输出时:
所以一堆掩码值,一堆数字和一堆零。我想要一个没有掩码值和零的新数组,保持数组的相同结构。我正在使用的代码是这样的:
但是这给了我一个带有值的长数组,并且不保留原始结构,例如Xpos
:[[a,b,c,],[a,b,c,],[a,b,c,]...]
带有abc
数字。所以对于输出,我想要一些不全为零Xpos1=[[a,b,c,],[a,b,c,],[a,b,c,]...]
的abc
数字。
如何改进我的编码以将其保留为数组列表(如果我使用了错误的术语,请原谅我)?
python - 从数组列表中删除被屏蔽的元素
我正在尝试在 Jupyter 中绘制一个叶热图,但我收到错误 ValueError: Location values cannot contain NaNs, got: [nan, nan] 所以我需要从数组列表中删除被屏蔽的元素。我的数组如下所示:
列表中的每个数组都有不同数量的被屏蔽元素,一些仅在末尾被屏蔽,另一些则完全被屏蔽。如何删除每个被屏蔽的元素?所以完全删除完全屏蔽的元素,只删除其他元素中的几个元素。这将导致数组具有不同长度的列表。
我的整个代码是:
这给了我错误:
所以我需要从 Xpos 和 Ypos 中删除我的 NaN(Ypos 类似于 Xpos)
我试过了:
- ma.compress_cols(a) 来自https://docs.scipy.org/doc/numpy-1.13.0/reference/routines.ma.html。它删除了太多,当我尝试在一个循环中分别遍历每个数组时,它告诉我它只适用于二维数组。
- 删除 numpy 数组中的屏蔽元素,这给了我 AttributeError:'list' 对象没有属性 'mask'
- 按索引删除数组中的屏蔽元素,这也删除了太多
任何帮助表示赞赏!
python - 合并具有不同长度的屏蔽数组的二维列表
我有一个非常大的屏蔽数组列表,我想将它们组合在一起,但数组的长度不同。为了简单起见,这就是我想要做的,我想获得 C:
所以我基本上只是把两个列表放在一起。实际上,我的数组 A 看起来像这样(B 类似):
问题是大多数命令都不起作用,因为它是一个掩码数组,或者因为它具有不同的大小。我已经检查了这些问题:
任何帮助表示赞赏!
python - 循环 clump_masked 索引
y_filtered
我有一个包含一些掩码值的数组。我想用我根据相邻值计算的某个值替换这些值。我可以使用masked_slices = ma.clump_masked(y_filtered)
. 这将返回一个切片列表,例如[slice(194, 196, None)]
.
通过使用,我可以轻松地从我的掩码数组中获取值y_filtered[masked_slices]
,甚至循环它们。但是,我还需要访问值的索引,所以我可以根据它的邻居计算它的新值。枚举(逻辑上)返回 0、1 等,而不是我需要的索引。
这是我想出的解决方案。
这是非常丑陋的方法,我认为必须有更好的方法来做到这一点。有什么建议么?
谢谢!
python - 屏蔽二维数组并根据屏蔽索引对第二个数组进行操作
我有一个读取和输出二维数组的函数。对于输入中等于 0 的每个索引,我希望输出是恒定的(在这种情况下为 pi),否则我会对其执行一些数学运算。例如:
这应该给我以下信息:
即它已应用于y**2
二维列表中不等于零的每个元素,并将所有零替换为 pi。
我需要这个,因为我的函数将包括除法,而且我事先不知道索引。我正在尝试将 matlab 教程从教科书转换为 Python,而这个功能让我很困惑!
谢谢
scipy - 带有掩码数组的 scipy rankdata
我注意到 rankdata 与 maksed_array 的以下奇怪行为。这是代码:
根据 scipy doc,掩码值将被分配 0 (use_missing=False)。那么为什么它在第二个输出 [1 0] 呢?漏洞?
python - 贬低和标准化 3d 掩码中的 4d 数组?
我想贬低 ts(沿轴 3),并除以它的标准偏差(沿轴 3),所有这些都在掩码内。
我这样做正确吗?
有更快的方法吗?
python - 将掩码值移到 2D python 数组的末尾?
假设我们有一个 2D numpy 数组,我们使用 np.ma.masked_where 来屏蔽一些元素。在每一行中,我们希望将所有被屏蔽的元素移动到末尾,同时保留其余元素的顺序。有没有一种简单的无循环方式来做到这一点?
例如,假设我们有以下带掩码的 2D 矩阵:
我们想返回:
python - 在 numpy 中仅屏蔽特定范围的索引
我有一个ndarray。我需要屏蔽任何小于 50 的数字,直到遇到的第一个数字大于 50。这应该在一行的开头和结尾都完成。对,当遇到的第一个数字大于 50 时,屏蔽应该停止。
一行看起来像:
我想要类似的东西:
掩蔽应该在第二行的 57 之前停止,在最后一行的第 4 行的 126 处停止。
我试过 ma.masked_where,但它也掩盖了两者之间的 0,这是我不想要的。
所以,如果有办法做到这一点,或者你能帮助我,以便我可以指定一系列索引,例如:[0:40]
只有应该被屏蔽。
我不想在屏蔽后更改数组的维度。此外, 的存在--
不会对我的目的产生影响。
python - 在 python 中以 1D 插入 3D 蒙版数组
我需要一个更快的解决方案来将一维的 3D 数组内插到 2D 表面。我的数据是网格化的(k,j,i):水平网格是规则的(j,i),但垂直网格不是(即每个 i,j 点的深度点不同)。此外,我的阵列有一个 2D 水平蒙版。我目前的解决方案是:
它可以工作,但是太慢了(我的水平网格大约是 200x600,并且使用遮罩的插值数量减少了很多,但仍然需要大约一个小时)。
我研究了griddata,但是有一个问题,一个问题:问题是,它使用所有值来插值点,而实际上我只需要z方向上的一维插值(哪个,无论如何),但是问题显然,它不喜欢 nans(实际上。不是实际的 NaN,而是掩码值):
我得到:
建议深表感谢