Используйте команды a.any () или a.all ()

x = np.arange(0,2,0.5) valeur = 2*x if valeur <= 0.6: print ("this works") else: print ("valeur is too high") 

вот ошибка, которую я получаю:

 if valeur <= 0.6: ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all() 

Я прочитал несколько сообщений об a.any () или a.all (), но до сих пор не могу найти способ, который действительно четко объясняет, как исправить проблему. Я понимаю, почему Python не нравится то, что я написал, но я не уверен, как его исправить.

2 Solutions collect form web for “Используйте команды a.any () или a.all ()”

Если вы посмотрите на результат valeur <= 0.6 , вы увидите, что вызывает эту двусмысленность:

 >>> valeur <= 0.6 array([ True, False, False, False], dtype=bool) 

Таким образом, результатом является другой массив, который имеет в этом случае 4 булевых значения. Теперь, каков должен быть результат? Должно ли условие быть истинным, когда одно значение истинно? Должно ли условие быть истинным только тогда, когда все значения верны?

Это точно, что numpy.any и numpy.all делают. Первое требует хотя бы одного истинного значения, последнее требует, чтобы все значения были истинными:

 >>> np.any(valeur <= 0.6) True >>> np.all(valeur <= 0.6) False 

Вы комментируете:

valeur – вектор, равный [0. 1. 2. 3.] Меня интересует каждый отдельный член. Для части ниже 0.6, затем верните «это работает» ….

Если вас интересует каждый термин, напишите код, чтобы он касался каждого. Например.

 for b in valeur<=0.6: if b: print ("this works") else: print ("valeur is too high") 

Это будет писать 2 строки.

Ошибка возникает при использовании кода numpy при попытке использовать его в контексте, который ожидает одно скалярное значение. if b:... может делать только одно. Он сам по себе не выполняет итерации по элементам b делая разные вещи для каждого.

Вы также можете использовать эту итерацию в качестве понимания списка, например

 ['yes' if b else 'no' for b in np.array([True, False, True])] 
  • Эффективный метод расчета плотности нерегулярно разнесенных точек
  • Вычисления свертки в Numpy / Scipy
  • Python interp1d против UnivariateSpline
  • Исключить белые грани в Matplotlib / Basemap pcolor plot
  • python: как добавить столбец для записи массива в numpy
  • Это лучший способ добавить дополнительное измерение в массив numpy в одной строке кода?
  • Заполнение пробелов в массиве numpy
  • Цифровой элемент doty
  •  
    Interesting Posts for Van-Lav

    Как индексировать наблюдаемые координаты в таблице астрометрии

    Все возможные способы чередования двух строк

    Так что же означает «из __future__ import barry_as_FLUFL»?

    Отладка C-библиотеки из Python (ctypes)

    Как избежать одного окна Spark Streaming, блокирующего другое окно с запуском некоторого собственного кода Python

    сумма простых чисел питона

    Python PIL неправильно декодирует цвета TIFF (используя неправильное цветовое пространство)?

    Для python есть способ распечатать область переменных из контекста, где происходит исключение?

    python networkx: не может использовать функцию current_flow_betweenness_centrality

    Корневой персонаж не может быть сброшен на питон даже после seteuid. Жук?

    Python. IOError: Permission denied: когда я копирую файл

    Как создать строку python из буфера ctype (двоичного)?

    Как использовать функцию активации softmax на выходном уровне, но relus в средних слоях в TensorFlow?

    Установка параметра fmt в numpy.savetxt

    один файл py для конвертирования сначала в html

    Python - лучший язык программирования в мире.