Numpy 기초 6편

1. time

 

array 연산의 시간을 비교

 

일반적으로 for loop가 가장 느리고 다음으로 list comprehension이 빠르고 numpy가 가장 빠르다

 

numpy는 c로 구현하여 연산속도의 이점을 확보하고 dynamic typing을 포기

 

대용량 계산에서 numpy가 이득

 

concatenate같은 단순 할당연산에는 속도 이점이 없음

 

그림1. array 연산 속도 비교

 

위에서부터 for loop연산,list comprehension연산,numpy 연산

 

numpy가 압도적으로 빠르다

 

 

2. comparison

 

단순히 array를 scalar와 비교하면 array 원소 모두에 대해 comparison하여 boolean array로 반환

 

그림2. array 단순 비교 연산

 

3. any,all

 

np.any(<condition>) array내 모든 원소에 대해 하나라도 True이면 True

 

np.all(<condition>) array내 모든 원소가 True이면 True

 

그림3. 그림2의 a에 대해 np.any와 np.all을 수행

 

4. 두 array의 비교

 

 

두 array를 비교할때는 기본적으로 대응하는 성분끼리 element wise 비교

 

당연히 element wise 비교하니까 두 array의 크기는 동일해야하고 결과는 크기가 동일한 boolean array가 나옴

 

그림4. 두 array의 비교 연산

 

 

5. logical_()

 

boolean array를 받아서

 

np.logical_and(<array1>,<array2>) 두 array가 True이면 True

 

np.logical_not(<array>) 각 원소의 not을 취한 연산

 

np.logical_or(<array1>,<array2>) 두 array중 적어도 하나가 True이면 True

 

당연히 element wise 연산임

 

그림5. logical 연산

 

'프로그래밍 > Numpy' 카테고리의 다른 글

Numpy 기초 8편  (0) 2021.12.01
Numpy 기초 7편  (0) 2021.12.01
Numpy 기초 5편  (0) 2021.11.29
Numpy 기초 4편  (0) 2021.11.29
Numpy 기초 3편  (0) 2021.11.28
TAGS.

Comments