이미지출처
syntax 약속
본 포스팅은 KT 에이블스쿨 교육내용을 바탕으로 제 나름대로 정리하여 작성하였습니다
배열을 이용하게 해줄 수 있는 파이썬 라이브러리
파이썬에서 가장 유명한 라이브러리 중 하나
list랑 비슷하다
넘파의 각종 내장 메소드들을 이용하여 요소들을 한번에 처리할 수 있다.
예를들어 list같은경우는 list * 숫자 를 하면 숫자만큼 리스트가 복사되었지만,
배열에서는 요소에 값을 하나하나 곱해줄 수 있다.
리스트는 저거 하려면 for문으로 만들어줘야 한다... ㅋㅋ
하지만 장점만 있는건 아니다. 여러가지 자료형으로 존재할 수 있는 list 와 달리 한가지 자료형으로만 존재할 수 있다.

import numpy as np
import를 이용해 불러올 수 있고, 보통 as 를 이용해 np 라는 별칭으로 사용한다.
np.array(리스트)
배열의 정보를 확인할 수 있는 다양한 속성(메소드와 함수와는 또 다름)들이 있다.
리스트.ndim
배열의 차원(=축의 갯수)를 int 로 반환한다.
리스트.shape
배열의 크기를 tuple로 반환한다.
리스트.dtype
배열의 자료형을 반환한다.
배열은 한가지 자료형만 가질 수 있는것을 기억하자
배열.reshape(원하는 형태)
배열을 다양한 형태(shape)로 변환해준다.
배열에 포함된 요소가 사라지지 않는 형태, 즉 요소의 숫자가 같은 형태로만 변활할 수 있다.
-> (원래 배열의 행 수) * (원래 배열의 열 수) = (바꾸려는 함수의 행수) * (바꾸려는 함수의 열 수)

Reshape할 수 있다.당연히 첫 번째 값은 0 부터 시작한다.
1차원 배열의 인덱싱은 리스트랑 일치하기에 생략
syntax
arrayname[row, column]
arrayname 배열명
row 인덱싱 하고 싶은 행, int값이다.
column 인덱싱 하고 싶은 열, int 값이다.
row, column 부분에 리스트를 넣어서 여러 값을 조회 가능하다.
':' 를 이용하여 전체를 조회 할 수 있다.
범위를 지정하여 위치의 요소를 조회 할 수 있다. 인덱싱이랑 매우 유사하다.
마지막 범위 값은 대상에 포함되지 않는다는 점을 유의하자!
':' 를 이용해도 마지막 인덱스 값은 포함되지 않는다.
즉, 배열[1:M, 2:N]이라면 1 ~ M-1행, 2 ~ N-1열이 조회 대상이 된다.
syntax
arrayname[rowarea, columnarea]
arrayname 배열명
rowarea 슬라이싱 하고 싶은 행의 범위, 행N:행M 형태로 나타낸다.
물론 행1, 행2 의 값은 int 이다.
columnarea 도 열의 범위인 점을 제외하고는 같기에 생략.
한눈에 보는 인덱싱과 슬라이싱

조건에 맞는 요소를 선택하는 선택하는 방식이다.
조회 결과는 '1차원 배열' 이 된다.
syntax
arrayname[conditions]
conditions 조회를 원하는 조건을 의미한다.
& 와 | 를 이용하여 여러가지 조건을 조회할 수 있다. 각각 and 와 or 역할을 수행한다.
예시
# 2차원 배열 만들기
score= np.array([[78, 91, 84, 89, 93, 65],
[82, 87, 96, 79, 91, 73]])
# 짝수만 조회
print(score[score % 2 == 0])
[78 84 82 96]
다양한 함수 혹은 연산자를 이용하여 배열 성분간의 다양한 연산을 할 수 있다.
행렬에 대한 연산도 가능하나 선형대수에 대한 도메인 지식이 필요하므로 생략하겠다.
+ 혹은 np.add()- 혹은 np.substract()* 혹은 np.multiply()/ 혹은 np.divie()** 혹은 np.power()np.sqrt()