Я пытаюсь использовать np.where в программе Cython, чтобы выбрать, где значения находятся в радиусе. Обычно это работает с numpy, но с Cython я получаю
TypeError: объект 'tuple' не может быть интерпретирован как целое число
def test(double[:,::1] array, double[:] point, double radius):
array = np.asarray(array)
idx = np.where(np.logical_and(np.greater_equal(array[:, 0], point[0] - radius), np.less_equal(array[:, 0], point[0] + radius)))
a = array[idx]
Я пытался сделать это, но получил ошибку
только скалярные массивы могут быть преобразованы в скалярный индекс
a = array[idx[0].astype(int)]