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