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

Ника

Новичок
Пользователь
Окт 17, 2020
26
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)
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Вот пример:
Python:
import numpy as np


a = np.random.randint(1, 10, 15)
b = np.where((a > 3) & (a < 8), a * (-1), a)
print(b)
 
  • Мне нравится
Реакции: Ника

Ника

Новичок
Пользователь
Окт 17, 2020
26
0
1
Вот пример:
Python:
import numpy as np


a = np.random.randint(1, 10, 15)
b = np.where((a > 3) & (a < 8), a * (-1), a)
print(b)
 

Ника

Новичок
Пользователь
Окт 17, 2020
26
0
1
Спасибо большое!
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 599
464
83
Можно так
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 Специалистов