查找落在给定范围内的索引

我想找到的元素dataXdataY它们的界限(B4X1,B4X2)之间(B4Y1,B4Y2)

import numpy as np 

B4X1 = 50.
B4X2 = 60.


B4Y1 = 150.
B4Y2 = 160.

dataX = np.array([40, 25, 50, 60, 55])
dataY = np.array([140, 125, 150, 160, 155])

Expected result is:

result = array([False, False, False, False, True], dtype=bool)

如何更快地做到这一点?

我做为:

OK = (B4X1 < dataX < B4X2) & (B4Y1 < dataY < B4Y2)

print OK

但是错误:

Traceback (most recent call last):
  File "C:\Users\je\Desktop\test.py", line 14, in <module>
    OK = (B4X1 < dataX < B4X2) & (B4Y1 < dataY < B4Y2)
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
约瑟芬·穆勒(Josephine Moeller)

快捷方式符号B4X1 < dataX < B4X2不起作用。

您需要执行以下操作:

OK = (B4X1 < dataX) & (dataX < B4X2) & (B4Y1 < dataY) & (dataY < B4Y2)

编辑:

自从计时被提出以来:

In [23]: dataX = np.random.randint(200, size=100)

In [24]: dataY = np.random.randint(200, size=100)

In [25]: %timeit OK = (B4X1 < dataX) & (dataX < B4X2) & (B4Y1 < dataY) & (dataY < B4Y2)
10000 loops, best of 3: 23.6 µs per loop

In [26]: %timeit OK = np.logical_and.reduce([B4X1<dataX,dataX<B4X2,B4Y1<dataY,dataY<B4Y2])
10000 loops, best of 3: 26.7 µs per loop

In [27]: %timeit for i in dataX: OK = (B4X1 < i and i < B4X2) and (B4Y1 < i and i < B4Y2)
1000 loops, best of 3: 449 µs per loop

In [28]: %timeit for i in dataX: OK = (B4X1 < i and i < B4X2) and (B4Y1 < i and i < B4Y2)
1000 loops, best of 3: 329 µs per loop

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

在给定范围内查找最大序列-Spark / Scala

来自分类Dev

查找在给定时间范围内修改的文件

来自分类Dev

如何查找字符串是否在给定字符串的范围内

来自分类Dev

如何查找在给定日期范围内创建的对象?

来自分类Dev

查找给定范围内的缺失值

来自分类Dev

如何快速检查整数是否在给定范围内

来自分类Dev

如何确保Maven依赖项在给定范围内?

来自分类Dev

在给定范围内找到经度/纬度点

来自分类Dev

计数在给定的范围内的半素数[a..b]

来自分类Dev

在给定范围内生成随机整数和实数

来自分类Dev

如何在给定范围内拆分数字

来自分类Dev

在给定范围内多次复制xml元素

来自分类Dev

在给定范围内的matplotlib等高线图

来自分类Dev

检查数字是否在给定范围内的替代方法?

来自分类Dev

如何确保Maven依赖项在给定范围内?

来自分类Dev

在给定公差范围内的清洁列表<double []>

来自分类Dev

在给定的时间范围内清除每个通知javascript

来自分类Dev

将随机复数限制在给定范围内

来自分类Dev

在给定范围内的未排序数组中查找最大元素[是否允许预处理]?

来自分类Dev

使用C中的按位运算符查找值是否落在范围内

来自分类常见问题

如何检查给定的小时和分钟(整数)是否在给定的时间范围内?

来自分类Dev

在给定范围内生成N个随机数,这些总和等于给定总和

来自分类Dev

查找数组中给定范围内的元素数

来自分类Dev

从给定范围内的数组中查找峰值

来自分类Dev

查找给定范围内的所有插槽

来自分类Dev

从给定范围内的数组中查找峰值

来自分类Dev

加速算法,查找给定范围内的倍数

来自分类Dev

在指定的日期范围内如何查找给定的日期

来自分类Dev

Excel公式查找给定范围内的日期(整列)

Related 相关文章

  1. 1

    在给定范围内查找最大序列-Spark / Scala

  2. 2

    查找在给定时间范围内修改的文件

  3. 3

    如何查找字符串是否在给定字符串的范围内

  4. 4

    如何查找在给定日期范围内创建的对象?

  5. 5

    查找给定范围内的缺失值

  6. 6

    如何快速检查整数是否在给定范围内

  7. 7

    如何确保Maven依赖项在给定范围内?

  8. 8

    在给定范围内找到经度/纬度点

  9. 9

    计数在给定的范围内的半素数[a..b]

  10. 10

    在给定范围内生成随机整数和实数

  11. 11

    如何在给定范围内拆分数字

  12. 12

    在给定范围内多次复制xml元素

  13. 13

    在给定范围内的matplotlib等高线图

  14. 14

    检查数字是否在给定范围内的替代方法?

  15. 15

    如何确保Maven依赖项在给定范围内?

  16. 16

    在给定公差范围内的清洁列表<double []>

  17. 17

    在给定的时间范围内清除每个通知javascript

  18. 18

    将随机复数限制在给定范围内

  19. 19

    在给定范围内的未排序数组中查找最大元素[是否允许预处理]?

  20. 20

    使用C中的按位运算符查找值是否落在范围内

  21. 21

    如何检查给定的小时和分钟(整数)是否在给定的时间范围内?

  22. 22

    在给定范围内生成N个随机数,这些总和等于给定总和

  23. 23

    查找数组中给定范围内的元素数

  24. 24

    从给定范围内的数组中查找峰值

  25. 25

    查找给定范围内的所有插槽

  26. 26

    从给定范围内的数组中查找峰值

  27. 27

    加速算法,查找给定范围内的倍数

  28. 28

    在指定的日期范围内如何查找给定的日期

  29. 29

    Excel公式查找给定范围内的日期(整列)

热门标签

归档