В поисках более эффективного способа проверить, попадают ли элементы в массиве numy в какой-либо (или совпадают хотя бы один раз) из набора значений min и max. Я играл с any()
и np.any()
и all()
, но для меня это более новые понятия.
y_minmax_bounds = [[1.1, 2.0], [3.3, 6.21], [5.75, 10.0]]
y = np.array([1.5, 2.5, 2, 6, 8, 10])
withinbounds = [((y > min) & (y < max))for min, max in y_minmax_bounds]
print(withinbounds)
Возвращает:
[array([True, False, False, False, False, False]),
array([False, False, False, True, False, False]),
array([False, False, False, True, True, False])]
После решения массива:
[True False False True True False]
Я могу перебрать y_minmax_bounds
, но это кажется неэффективным, учитывая очень большой массив np.ar для проверки. Актуальной проблемой будет также принудительное применение этого в нескольких измерениях (x_minmax_bounds
по x, z_minmax_bounds
по z).