masked-array

    0热度

    2回答

    我偶然发现了一个有关蒙面无符号整数数组和np.ma.argmax的奇怪事实。 考虑以下数组: >>> marr = np.ma.array(np.array([[2,2,2], [3,3,3], [1,1,1]]), mask=False, dtype=np.uint16) >>> marr masked_array(data = [[2 2 2] [3 3 3] [1 1 1]],

    1热度

    1回答

    我有一个图像,我发现与skimage.measure.find_contours()轮廓,但现在我想创建一个完全在最大的封闭轮廓外面的像素蒙版。任何想法如何做到这一点? 修改文档中的例子: import numpy as np import matplotlib.pyplot as plt from skimage import measure # Construct some test

    0热度

    1回答

    在numpy.searchsorted中这是一种有趣的行为。以下测试失败: import numpy as np a = np.ma.masked_array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,

    2热度

    1回答

    我想从压缩的遮罩数组和对应的遮罩创建一个数组。它更容易用一个例子来说明这一点: >>> x=np.ma.array(np.arange(4).reshape((2,2)), mask = [[True,True],[False,False]]) >>> y=x.compressed() >>> y array([ 2, 3]) 现在我想创建相同的形状,x,其中屏蔽值获得一个标准值的数组(

    1热度

    1回答

    我有几个嵌套for循环做正确的事情(数组的蒙面副本)。然而,表现太慢,我觉得必须有更好的Pythonic方式来做到这一点。目标是使用掩码来确定何时从源复制数据,使用coord作为源的索引。该工程的循环代码如下: import numpy as np dest = np.zeros((4,4,2)) source = range(32) source = np.reshape(source,(

    2热度

    4回答

    我正试图计算包含NaN的大型numpy数组中的移动平均数。目前我使用: import numpy as np def moving_average(a,n=5): ret = np.cumsum(a,dtype=float) ret[n:] = ret[n:]-ret[:-n] return ret[-1:]/n 当使用屏蔽数组计算: x = np.ar

    5热度

    1回答

    我注意到numpy masked-array mean method返回不同类型时,它可能不应该: import numpy as np A = np.ma.masked_equal([1,1,0], value=0) B = np.ma.masked_equal([1,1,1], value=0) # no masked values type(A.mean()) #numpy.fl

    6热度

    4回答

    说我有坐标的二维数组,看起来像 x = array([[1,2],[2,3],[3,4]]) 以前在我的工作至今,我产生的最终看起来像 mask = [False,False,True] 口罩当我尝试在2D坐标矢量上使用此掩膜时,出现错误 newX = np.ma.compressed(np.ma.masked_array(x,mask)) >>>numpy.ma.core.MaskError

    0热度

    1回答

    我需要修改的功能,例如内蒙面阵列的一部分内: import numpy.ma as ma arr_2d = ma.masked_all((5,5)) arr_3d = ma.masked_all((5,5,5)) arr_3d[0,1] = 5 def func1(arr, val): arr[:] = val 看起来很简单,但随后... >>> func1(arr_3d

    1热度

    1回答

    有没有办法使用Python Dask包模仿numpy的屏蔽数组并做计算考虑的面具,像NumPy的: import numpy as np data = np.array([0, 1, 9999, 2, 1, 0, 9999]) value = 9999 mdata = np.ma.masked_where(data == value, data) result = (mdata * 2