Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用一维数组上的条件屏蔽二维数组的最佳方法_Python_Mask - Fatal编程技术网

Python 使用一维数组上的条件屏蔽二维数组的最佳方法

Python 使用一维数组上的条件屏蔽二维数组的最佳方法,python,mask,Python,Mask,我有一个MxN numpy空气质量数据数组(M=纬度,N=经度)。我想对这些数据应用一个遮罩,以便遮罩赤道(纬度>0)上方的任何东西。然而,我的纬度数据是一维的(M) 我可以想办法掩盖这些数据,但它们似乎都太过冗余和冗长。这就是为什么我想问你,在你看来,做这件事的最佳方式是什么 将numpy导入为np 从numpy.ma导入掩码_哪里 my_data=np.random.randn(10,5) 纬度=np.linspace(-5,4,10) 经度=np.linspace(10,14,5) #如果

我有一个MxN numpy空气质量数据数组(M=纬度,N=经度)。我想对这些数据应用一个遮罩,以便遮罩赤道(纬度>0)上方的任何东西。然而,我的纬度数据是一维的(M)

我可以想办法掩盖这些数据,但它们似乎都太过冗余和冗长。这就是为什么我想问你,在你看来,做这件事的最佳方式是什么

将numpy导入为np
从numpy.ma导入掩码_哪里
my_data=np.random.randn(10,5)
纬度=np.linspace(-5,4,10)
经度=np.linspace(10,14,5)
#如果纬度和我的_数据的形状相同,我想要这样的东西
蒙版_数据=蒙版_,其中(纬度<0,我的_数据)
到目前为止,我正在使用np.tile将纬度扩展到与我的_数据相同的形状。然而,我想知道是否有一种更聪明的方法来索引或解决这个问题。总结:在你看来,掩盖我的数据的最佳方式是什么


谢谢

您可以直接索引
my_数据
numpy
将自动执行掩码广播):

输出:

(the last 4 rows of my_data)

这很好也很简单。非常感谢。作为问题的补充。如果我想在第二维度(N)上包含一个条件,该怎么办?例如:纬度>0和经度<13
myu数据[(纬度>0)和(经度<13)]
将起作用<代码>numpy一旦习惯了,索引实际上非常直观。链接可能会有所帮助。
(the last 4 rows of my_data)