[Numpy Package] 넘피 문법 정리

2020. 6. 3. 02:02Programming Language/Python

반응형

■ Numpy 특징

  • 백터 및 행렬 연산과 관련된 편리한 기능을 제공
  • 리스트(list)와 유사하지만 numpy배열의 특징을 갖는다.
  • 모든 원소가 같은 자료형이어야 한다. 
  • 원소 중 다른 자료형이 있다면 큰 자료형으로 변경된다.
  • 원소의 갯수를 바꿀 수 없다.
  • 빠른 속도를 지원
  • 백터와 연산, 배열 인덱싱을 통한 질의 기능

■ Numpy 문법

I. 배열의 차원과 크기 알아내기

배열의 차원 반환 : array객체.ndim
배열의 크기 반환 : array객체.shape

 


II. 배열의 전체 원소의 형변환

※ dtype 접두사 종류

dtype 접두사 설명 사용 예
b 불리언 b(참 혹은 거짓)
i 정수 i8(64비트)
u 부호 없는 정수 u8(64비트)
f 부동소수점 f8(64비트)
c 복소 부동소수점 c16(128비트)
o 객체 0(객체에 대한 포인터)
S 바이트 문자열 S24(24 글자)
U 유니코드 문자열 U24(24 유니코드 글자

dtype = '자료형' or dtype = numpy.자료형

 


III. 전치 연산 (행과 열의 위치 변환)

array객체.T

 


IV. 다차원의 배열을 1차원 배열로 변환

flatten() or ravel() or reshape(-1)

 


V. 배열의 인덱싱

1) array객체[행 인덱스, 열 인덱스]

2) array객체[행 인덱스][열 인덱스]

 


VI. 배열 슬라이싱

1) index : 원하는 행 혹은 열 추출

2) 범위(:) : 시작 인덱스부터 끝 인덱스 까지 추출

 


VII. 배열 연결

1) hstack

행의 수가 같은 두 개 이상의 배열을 옆으로 연결하여 열의 수가 더 많은 배열을 만든다.

 

2) vstack

열의 수가 같은 두 개 이상의 배열을 위아래로 연결하여 행의 수가 더 많은 배열을 만든다

 

3) dstack

제3의 축 즉, 행이나 열이 아닌 깊이(depth) 방향으로 배열을 합친다. 가장 안쪽의 원소의 차원이 증가한다. 즉 가장 내부의 숫자 원소가 배열이 된다. shape 정보로 보자면 가장 끝에 값이 2인 차원이 추가되는 것이다.

 

4) stack

dstack의 기능을 확장한 것으로 dstack처럼 마지막 차원으로 연결하는 것이 아니라 사용자가 지정한 차원(축으로) 배열을 연결한다. axis인수(디폴트 0)를 사용하여 연결후의 회전 방향을 정한다. 디폴트 인수값은 0이고 가장 앞쪽에 차원이 생성된다. 즉, 배열 두 개가 겹치게 되므로 연결하고자 하는 배열들의 크기가 모두 같아야 한다.

(1) axis = 0 (디폴트) 

  • 첫번째 차원으로 새로운 차원이 삽입된다.

(1) axis = 1 

  • 두번째 차원으로 새로운 차원이 삽입된다.

5) r_

hstack 명령과 비슷하게 배열을 좌우로 연결한다. 다만 메서드임에도 불구하고
소괄호(parenthesis, ())를 사용하지 않고 인덱싱과 같이 대괄호(bracket, [])를 사용한다.
이런 특수 메서드를 인덱서(indexer)라고 한다.

 

6) c_

배열의 차원을 증가시킨 후 좌우로 연결한다. 만약 1차원 배열을 연결하면 2차원 배열이 된다.

(1) 1차원 배열의 경우

(2) 2차원 배열의 경우

7) tile

동일한 배열을 반복하여 연결한다.

 

반응형