我有一个MxN numpy的空气质量数据数组(M =纬度,N =经度)。我想对此数据应用遮罩,以便遮盖赤道以上(纬度> 0)以上的所有内容。但是,我的纬度数据是一维(M)。
我可以想到掩盖这些数据的方法,但是它们似乎都太冗长和冗长。这就是为什么我想问你,什么是最好的方法。
import numpy as np
from numpy.ma import masked_where
my_data = np.random.randn(10,5)
latitude = np.linspace(-5,4,10)
longitude = np.linspace(10,14,5)
# I would like something like this, if latitude had the same shape as my_data
masked_data = masked_where(latitude < 0, my_data)
到目前为止,我正在使用np.tile将纬度扩展为与my_data相同的形状。但是,我想知道是否存在一种更智能的索引编制或解决方法。结论:您认为屏蔽my_data的最佳方法是什么?
谢谢
答案 0 :(得分:3)
您可以直接为my_data
编制索引(numpy
将自动执行掩码广播)
my_data[latitude > 0]
输出:
(the last 4 rows of my_data)