Я использую Matplotlib и Numpy для создания некоторых графиков. Я хочу определить функцию, которая задает массив, возвращает другой массив со значениями, рассчитанными по-разному, например:
def func(x):
return x*10
x = numpy.arrange(-1,1,0.01)
y = func(x)
Это нормально. Теперь, однако, я хочу иметь if-statement внутри func
, например:
def func(x):
if x<0:
return 0
else:
return x*10
x = numpy.arrange(-1,1,0.01)
y = func(x)
Это, к сожалению, вызывает следующую ошибку:
Traceback (most recent call last):
File "D:\Scripts\test.py", line 17, in <module>
y = func(x)
File "D:\Scripts\test.py", line 11, in func
if x<0:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Я просмотрел документацию для all()
и any()
, и они не соответствуют счет за то, что мне нужно. Итак, есть ли хороший способ сделать элемент массива элементов массива мудрым, как в первом примере?