ошибка: ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Ника

Новичок
Пользователь
Окт 17, 2020
6
0
1
Необходимо создать массив из 15 элементов, найти все элементы, которые одновременно больше 3 и меньше 8 ,поменять у них знак ,и вывести новый массив с замененными элементами. Задание нужно выполнить с помощью numpy. Помогите, пожалуйста.
Код:
import numpy as np
a=np.random.random(15)
b=np.where(3<a and a<8  , a*(-1), a)
print(b)
 

regnor

Активный пользователь
Пользователь
Июл 7, 2020
187
34
28
Можно так
Python:
import numpy as np
a = np.random.random_integers(0, 10, 15)
print('Массив а: {}'.format(a))
b = np.where(np.logical_and(a > 3, a < 8), a * -1, a)
print('Массив b: {}'.format(b))
 
Последнее редактирование:

Форум IT Специалистов