728x90
numpy는 기본적으로 array-wise하게 계산할 때 효율성을 얻는다.
그것을 위해서 다음과 같은 method를 활용하고자 하는데
def aux(x):
if x:
return x*np.log(x)
else:
return 0
func = np.vectorize(aux)
func(ndarray)
이 때, 사실 array-wise하게 계산하지 않는다.
따라서 large ndarray에 대해서 계산이 느리다.
이 때, 다음과 같이 aux를 수정하고 aux를 그대로 사용하자.
def aux(x):
return np.where(x > 0, x*np.log(x), 0)
aux(ndarray)
# 하 코테에서 조금만 시간있었으면 해결헀을 텐데, 너무나 짜증난다.
728x90
'CS' 카테고리의 다른 글
(미완)[Docker] option 정리 (0) | 2020.10.21 |
---|---|
(미완)Ubuntu 명령어 정리 (0) | 2020.10.21 |
[Numpy]np.select (0) | 2020.10.19 |
[Algorithm]백준, 14888, 연산자 끼워넣기 (0) | 2020.10.16 |
[Algorithm]백준, 10819, 차이를 최대로 (0) | 2020.10.16 |