관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

Numpy 4 - Numpy 연산 본문

인공지능/Numpy & Pandas

Numpy 4 - Numpy 연산

huenuri 2024. 7. 31. 14:50

이번에 학습할 단원은 Numpy 연산이다. 이것도 배열이니 연산을 할 수 있나 보다. Numpy가 처음에는 무척 어렵게 느껴졌는데 해보니 별거 아니었다. 배열은 조금 알고 있으면 충분히 이해할 수 있는 부분이었다.

그럼 바로 다음 학습을 진행해보자!


 

 

 

 

이론 4 - Numpy 연산

 

파이썬에서 몇 가지 연산은 느리게 진행된다. 이 예시에서 보면 value 값을 받아서 빈 데이터를 받은 array의 길이만큼 만든다. 반복문을 돌면서 기존에 가진 데이터에 5를 추가해서 쓰고 그것을 돌려주는 함수이다.
values는 1~10까지인 size가 5인 ranint라고 하면, 여기에 5개를 붙여서 이 함수를 출력한다.

 

 

 

 

 

1~100까지 있는 1천만 개의 데이터를 수행한다면, 큰 array에 대해서는 수행 시간이 느리다는 것을 볼 수 있다. 5초 이상이 걸린다면 이 연산은 사용하기 어렵다. Numpy는 이러한 연산을 미리 컴파일된 루틴으로 만들어서 매우 빠른 속도로 수행한다.

아래를 보면 33.5로 단위가 달라진 것을 보니 속도가 빨라졌음을 알 수 있다.

 

 

 

 

 

 

 

나누기 5를 하면 실수형으로 나누어졌다.

 

 

 

 

 

 

다차원 배열에서도 이러한 연산이 가능하다. 마치 행렬을 구하는 것과 같다.


 

 

 

 

 

퀴즈 4 - Numpy 연산

 

 

 

 

shape을 알면 쉽게 풀 수 있는 문제이다.


 

 

 

 

 

실습 7 - Numpy 연산

 


 

 

 

문제 풀기

 

 

 

 

 

 

처음에는 name 오타가 있어서 다시 풀었다.

 

 

 

 

모두 잘 맞았다. array끼리도 서로 연산을 할 수 있다는 걸 알게 되었다.


 

 

 

 

학습을 마치고

Numpy로 연산을 하는 것은 프로그래밍 연산과 비슷했다. 하지만 그냥 배열로 루프를 돌리면 연산 시간이 너무나 많이 걸린다는 것을 이 수업을 통해 배웠다. 이런 이유로 numpy를 사용하는 것 같다. s와 ms의 차이는 잘 모르겠지만, 아무튼 더 빠르다고 한다.

이제 다음 포스트에서는 브로드캐스팅에 대해 학습해보려고 한다. 2차원 배열은 행렬과 같다는 걸 알게 되었다. 그런 다음부터 배열이 더 재미있어졌다. 난 다른 수학문제는 잘 못 풀었지만 행렬의 연산은 참 좋아했었다.

'인공지능 > Numpy & Pandas' 카테고리의 다른 글

Numpy 6 - 집계함수 & 마스킹 연산  (0) 2024.07.31
Numpy 5 - 브로드캐스팅  (0) 2024.07.31
Numpy 3 - Reshape & 이어 붙이고 나누기  (0) 2024.07.31
Numpy 2 - 배열의 기초  (0) 2024.07.31
Numpy 1 - 배열 만들기  (0) 2024.07.31