shape이 같지 않아도 연산을 할 수 있게 해 준다.
예를 들어 하나는
| 0 | 0 | 0 |
| 1 | 1 | 1 |
| 2 | 2 | 2 |
의 형태이고
다른 하나는
| 5 | 6 | 7 |
의 형태일 때 이 두 개를 더하면
| 5 | 6 | 7 |
| 6 | 7 | 8 |
| 7 | 8 | 9 |
의 형태로 연산을 해 준다. (각 행에 모두 5,6,7을 더한다)
또
| 1 | 1 | 1 |
과
| 0 |
| 1 |
| 2 |
를 더하면
| 1 | 1 | 1 |
| 2 | 2 | 2 |
| 3 | 3 | 3 |
의 결과가 나온다.

백터(행렬) 연산을 사용하면 연산을 매우 빠르게 처리할 수 있는 장점이 있다.
시간 비교를 위해 먼저 import time 불러온다

그리고 for문을 이용했을 때와 np.sum 모듈을 사용했을 때의 연산 속도 차이를 알아본다.


for문은 18초가 걸리는 반면
np.sum은 0.14가 걸린다.
np.sort() 모듈을 이용하여 정렬시킨다.

랜덤하게 출력되는 값들이 오름차순으로 정렬된 것을 볼 수 있다.

뒤에 [::-1]을 붙이면 내림차순 정렬이 가능하다.
똑같이 sort 모듈 사용

axis = 1 을 사용하면 열 기준으로 정렬

axis = None 을 사용하면 2차원 배열을 1차원으로 바꾼 후 정렬

argsort는 원래 있던 위치값을 반환해 준다.

예를 들어서 argsort 결과의 1행값을 보면 1 3 0 2인 것을 볼 수 있다.
따라서 원래의 1행 값은 [12 6 13 6]인 것을 알 수 있다.
| 코딩일기: 데이터 과학을 위한 파이썬 Numpy 5일차 (1) | 2023.07.05 |
|---|---|
| 코딩일기: 데이터 과학을 위한 파이썬 Numpy 4일차 (0) | 2023.07.03 |
| 코딩일기: 데이터 과학을 위한 파이썬 Numpy 3일차- 1 (0) | 2023.06.30 |
| 코딩일기: 데이터 과학을 위한 파이썬 Numpy 2일차 (0) | 2023.06.30 |
| 코딩일기: 데이터 과학을 위한 파이썬 Numpy 1일차 (0) | 2023.06.28 |