У меня есть вопрос, который может быть простым для многих из вас. Я довольно новичок в numpy и python, поэтому, если бы вы могли мне помочь, это означало бы тонну !! Я получаю np.logical_andЛогическая функция in for loop с использованием numpy в python
import numpy as np
edges= np.arange(7)
a_edges= np.arange(5)
for i in range(2):
indexes = np.logical_and((edges>=a_edges[i]),(edges<a_edges[i+1]))
print(indexes)
[False* True False False False False False]
Мои вопросы следующие. Как это происходит? Например, это первый массив результата, False * (отмечен звездочкой), говорящий первый массив «ребер», не соответствующих обеим логическим функциям для всех диапазонов i (0 ~ 2)?
Если это правда, второй массив «ребер» не удовлетворяет всей логической логике, но это правда.
Например, ребра [1] = 1. Для i = 0 ребра [1] не соответствуют последней логике, следовательно, false. Однако для i = 1 ребра [1] истинны. Поэтому в целом, это должно быть неверно ...
Я не понимаю это правильно?
Заранее благодарен! Cece
Подождите, я думал, что диапазон (2) приведет к тому, что i станет либо 0, либо 1 ... –
'range (2)' возвращает эквивалент '[0, 1]', да. Поэтому сначала он запускается с 'i = 0', а затем в вашем случае снова запускается с' i = 1' и перезаписывает 'indexes'. – Iluvatar
Но когда ребра [1] не выполняются, когда i = 0. Как это играет роль? –