это моя проблема:Numpy: создать массив элементов в одном массиве, которые находятся в диапазоне вокруг элемента другого массива
Дано:
массива А имеет такую форму: 12000,3 и массив В этом shape: 150,
Первый столбец A содержит значения времени, а B также содержит значения времени, отобранные с другой скоростью, поэтому они точно не совпадают.
Задача: Создать массив C с формой 150,3, который содержит строки массива A, где первый столбец находится в временном окне вокруг одной из временных точек в массиве B. Временное окно определяется временем «до» и времени «после»
Решение:
Он работает с 1D списки, используя список понимание, таких как: C = [е для е в а, если е> (B - раньше) и е < (B + after)]
Но попробуйте это с помощью массивов не работал.
Я начал простую по целочисленным массивам, пытаясь использовать логическую индексацию, но уже это не удается. Либо я получаю все False, либо сообщение об ошибке.
A = np.array([1,2,3,4,5,6])
B = np.array([1,3,5])
C = A[A in B]
C = A[A in B.any]
C = A[A == B]
np.select делает то же самое.
В идеале это должно выглядеть следующим образом:
C = A[A > (B.any-before) and A < (B.any+after)]
Большое спасибо за вашу помощь!
Извините, я немного болен и допустил ошибку: замените D на B – qussuk
или вы можете его отредактировать. :-) – MSeifert
сделано - какая полезная ссылка :) – qussuk