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

Numpy 2 - 배열의 기초 본문

인공지능/Numpy & Pandas

Numpy 2 - 배열의 기초

huenuri 2024. 7. 31. 13:47

배열의 기초 이 단원을 조금 학습하다가 졸려서 잠을 자려고 12시 반쯤 침대에 누웠다. 근데 아무리 잠을 자려고 해도 잠이 오지 않아서 1시 20분쯤 일어나 공부를 시작해보기로 했다. 아마 어제 낮잠을 많이 자서 잠이 오지 않은 것 같다.
잠이 오지 않으면 공부를 하면 되니 오히려 더 잘되었다. 조금 전에 앞부분만 조금 들었던 수업을 다시 들으며 학습을 진행해보겠다.

이 단원에서는 배열이 numpy에서 어떻게 사용되는지 배열의 기초적인 내용을 다루게 될 것 같다. 자바나 파이썬과 어떤 차이가 있는지 궁금해진다.
바로 학습에 들어가기로 하자!


 

 

 

이론 2 - 배열의 기초

 

 

10이하의 수에 size=(3, 4)를 넣게 되면 3x4 행렬이 생긴다. 이때 우리가 확인할 수 있는 속성은 크게 4가지가 있다.

  1. ndim : 행렬의 차원이 몇 차원인가? 3x4이므로 2차원이다.
  2. shape : 행렬의 모양
  3. size : 원소가 얼마나 들어있나
  4. dtype : 타입 유형

 

 

 

 

arange를 통해 데이터를 만들면 0부터 6까지의 데이터가 뽑히게 된다.
x[3]은 인데스가 3번째인 배열을 찾고, [7]은 존재하지 않으니 인덱스 에러를 만나게 된다.
마지막 줄에서는 0번째 값을 10으로 바꾸었다.

 

 

 

 

 

파이썬의 리스트와 많이 비슷하다. x[1:4]는 1부터 3까지의 데이터를 추출하고 있다. x[:4]는 이 이전의 값까지 불러오는 것이다. step을 줄 수도 있는데 x[::2]는 전체 데이터를 2씩 건너뛰면서 출력하라는 뜻이다.


 

 

 

 

 

퀴즈 2 - 배열의 기초

 

 

파이썬 복습을 하면서 리스트가 이제 거의 이해가 되었다.


 

 

 

실습 2 - 배열의 기초 1

 

 

 

 

 

type은 타입이라는 함수를 사용해 array의 자료형을 출력하는 방식, 차원은 array의 ndim(n dimension)이라는 속성을 출력하는 것이다.

 

 


 

 

 

실습 3 - 배열의 기초 2

 

 

 

 

 

이 문제 역시 강의 영상을 시청하지 않고 혼자서 풀어보았다. 근데 6번과 7번은 조금 헤깔렸다. 리스트에서처럼 콜론을 찍어주었는데 2, 3이 아닌 11~15까지 출력되었다. 그리고 행과 열을 출력하는 문제에서도 그냥 인덱스의 앞과 뒤를 써주니 뭔가 이상한 값이 되었다.

이번 문제는 정답 코드가 이미 다 문제 풀이에 나와있었지만 보지 않고 진행해보았다. 7번에서 행과 열을 출력하는 문제에서는 행과 열을 콜론으로 구별하고 있다.

 

 

 

 

이렇게 답이 나왔다. 6번은 답이 잘못 나온줄 알고 한참 고민했다. (2,3)은 2에서 3까지의 값을 구하는 것이 아니라 2행 3열의 값을 구하는 거였다. 그러니까 14가 된다.

 


 

 

두번째 단원 학습을 마치고

배열의 기초도 학습해보니 별로 어려운 게 없었다. Numpy라고 정말 아렵게 생각했는데 충분히 잘 이해할 수 있을 것 같다. 1차원 배열과 2차원 배열은 다르므로 배열의 요소를 출력하는 문제는 다시 한번 확인해봐야 할 것 같다.

잠은 오지 않아서 공부는 하고 있지만 눈은 조금씩 감기고 있다. 할 수 있는데까지 하고 졸리면 자야지.
다음 단원은 이어 붙이고 나누는 문제이다. 빨리 numpy 학습을 마치고 pandas에 들어가서 데이터를 분석해보고 싶다~

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

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