numpy 리스트는 데이터형이 같아야함
numpy 리스트와 python 리스트의 차이점
numpy리스트는 바로 숫자가 들어가고 python 리스트는 메모리가 할당되고 한번 더 타고 들어가서 값이 나오는 구조
이 때문에 numpy는 계산이 빠르고 python은 변동이 자유로움
또한 같은 데이터형을 넣기 때문에 메모리 크기가 일정하게 관리할 수 있음
파이썬에서는 -5 ~ 256까지는 메모리에 미리 할당되어 있기 때문에 위와 같은 일이 일어남
numpy는 새로운 공간에 순차적으로 할당하기 때문에 위와 같은 결과가 나옴
rank는 차원을 의미
스칼라는 0차원, 벡터는 1차원, 3차원부터는 텐서라고 함
ndim은 차원 즉 rank를 의미
size는 데이터의 갯수 여기서는 48개가 됨
shape의 표기는 (열) => (행, 열) => (갯수,행,열) 순으로 표기 시 열 부분이 뒤로 밀린다고 생각하면 편함
numpy에서는 c에서의 data type과 비슷하게 작용함
int64는 64비트를 의미 -2^63 ~ + 2^63 까지 표현 가능하다는 의미
위와 같은 방식으로 데이터 타입을 지정해줌, ai에서는 데이터가 수억개가 들어가기 때문에 이 데이터 타입을 무시할 수 없음, 보통 float64가 일반적임
-1로 설정하면 나머지부터 세팅하고 엘리멘트 수를 맞추기 위해 들어가야 하는 값이 -1 자리에 들어감 (그러니 1번만 사용되어야 하는건 자명할지도...?)
a[x , y]의 형태로 인덱싱이 가능하다는 것
원하는 구역만 슬라이싱을 할 수 있다는 것 (파이썬은 정말 강력하다 ㄷㄷ...)
주의! : 같은 배열이지만 [1]로 하면 1차원으로 나오고 [1:3]으로 하면 2차원으로 나온다
axis는 많이 쓰는 개념이므로 이해해 둘 것
평균, 합, 표준편차 외에도 다양한 함수를 제공함
붙인 결과물을 기준으로 axis를 생각하면 편함
축을 하나 추가할때 newaxis를 사용함, 여기서는 a에 b를 붙이기 위해서 b에 축을 추가함
단순한 곱과 dot 곱도 지원함
shape이 다를 경우도 지원함
위 경우는 주위해서 알아둘 것(브로드캐스팅의 개념을 알아야함)
거의 이 정도면 생각하는 모든게 구현이 되어있다고 봐야하지 않나...
numpy에서 배우는건 파이토치에서 사용하기에 기본적인 내용을 알아두는것이 ai 학습에 중요하다~
강의보러가기
https://www.boostcourse.org/onlyboostcampaitech6/lecture/1502900?isDesc=false
'네이버 부스트캠프(naver boostcamp)' 카테고리의 다른 글
[부스트캠프 AI Tech 프리코스] 9강 행렬이 뭐에요? (0) | 2023.08.25 |
---|---|
[부스트캠프 AI Tech 프리코스] 8강 벡터가 뭔가요? (0) | 2023.08.24 |
[부스트캠프 AI Tech 프리코스 6강] File / Exception / Log Handling (0) | 2023.08.17 |
[부스트캠프 AI Tech 프리코스 5강] Module and Project (0) | 2023.08.16 |
[부스트캠프 AI Tech 프리코스 4강] Python Object Oriented Programming (0) | 2023.08.16 |