2022 AI SW 온라인 교육/AI 데이터 분석 트랙

[AI 데이터 분석] 데이터 분석을 위한 라이브러리 - 02. 데이터 핸들링을 위한 라이브러리 NumPy

parkes811 2022. 12. 15. 00:03
01 NumPy란?

 

  • NumPy : Numerical Python, 수치적 파이썬

- Python에서 대규모 다차원 배열을 다룰 수 있게 도와주는 라이브러리이다.

 

- NumPy를 사용하는 이유는 데이터의 대부분이 숫자 배열로 이루어져 있기 때문이다.

- 반복문 없이 배열 처리가 가능하고, 파이썬 리스트에 비해 빠른 연산 지원효율적인 메모리 사용이 가능하다.

 

02 NumPy 사용하기

 

  • NumPy VS List

 

- List 배열 생성 및 출력 형태 확인

 

- numpy 배열 생성 및 출력 형태 확인

- import 키워드를 이용해서 numpy 모듈 불러오기

- ndarray : n 차원의 배열 ( n - dimensional array )

- 리스트는 class list로 1차원이고, numpy 배열은 class numpy로 ndarray로 n 차원 배열이기 때문에 서로 다르다.

 

03 배열의 기초

 

  • 배열의 데이터 타입 : dtype

- 파이썬 리스트와 달리 같은 데이터 타입 (단일 데이터)만 저장이 가능하다.

- astype ( 데이터_타입 ) 은 배열의 데이터 타입을 변경해주는 모듈이다.

 

  • 배열의 여러가지 데이터 타입

 

  • 배열의 속성

 

- ndarray의 차원 관련 속성 : ndim & shape

- ndim : n + dimention의 약자, 차원의 수를 구하는 함수

- shape : 배열의 모양을 구하는 함수

 

- ndarray크기 속성shape 조절

 

- arr.shape로 배열의 모양을 임의로 변경할 수 있다.

 

04 Indexing & Slicing

 

  • Indexing : 인덱스로 값을 찾아낸다.

- arrange(n) 으로 함수를 생성하면 0부터 n-1 까지 배열이 생성된다.

- arrange (x, y, z) 로 함수를 생성하면 x 부터 y까지 z만큼 증가하면서 배열이 생성된다.

 

  • Slicing : 인덱스의 값으로 배열의 일부분을 가져온다.

- x [ n : m ] : n부터 m까지 배열의 값을 가져오고, 3번째 수는 간격을 의미한다.

 

  • Boolean Indexing : 배열의 각 요소의 선택 여부를 Boolean mask를 이용하여 지정하는 방식

- 조건에 맞는 데이터를 가져오고나서, 참인지 거짓인지 알려준다.

 

 

  • Fancy Indexing : 배열의 각 요소 선택을 Index 배열을 전달하여 지정하는 방식

 

  • Indexing X Slicing : 원하는 요소 지정을 위해 인덱싱과 슬라이싱을 조합하여 사용이 가능하다.