Numpy Array에서 If문 사용했다가 에러..
Numpy Array에서 If 문 사용했다가 에러 발생…
당연히 아래의 코드가 가능하리라 믿어의심치 않아서..
import numpy as np
def func(x):
if x<=2:
return x
else:
return 4-x
근데, 아래와 같은 에러 메세지가 뜬다.
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
검색을 해 보니 아래와 같이 사용을 해야 한다.
out_x = np.where(x<=2, x, 4-x)
Numpy Array를 제외하고는 잘 된다.
구글 검색을 통해서 설명을 보니, 위의 코드는 Numpy에서는 모호하다고 한다.
Numpy를 좀 더 잘 쓰고 싶다.
Written on December 31, 2020