我在Python中有一个非常大的numpy数组,里面充满了气象数据。为了观察有缺陷的数据,我想查看每个值并测试它以查看它是否小于-1。最后,我想用0和1的逻辑数组来表示这个,其中1表示索引,其中值小于-1,零代表所有其他索引。我尝试使用numpy.where功能如下
logarr = np.where(metdat < -1)
,当此条件为真时返回原始数组和零数组(大约200次)。我尝试使用Sci.Py.org中的numpy.where语法
logarr = np.where(metdat < -1 [1,0])
但我的程序不喜欢语法。我做错了什么或者有人会建议更好的方法来解决这个问题吗?
谢谢, jmatt
答案 0 :(得分:1)
这适用于您的案例,可直接将类型从logical
转换为int
:
(matdat < -1).astype(int)
或者对于np.where
,语法必须是:
np.where(matdat < -1, 1, 0)