Numpy
: 복잡한 빅 데이터의 수학적, 과학적 계산을 위해 만들어진 라이브러리(ndarray클래스)
NumPy 다양한 함수들 - Codetorial
기능
- 반복문 없이 전체 데이터 배열 연산이 가능한 표준 수학함수를 제공함(mean(),sqrt(),std() 등)
- 배열(array): 같은 자료형의 원소들이 연속적인형태로 구성된 자료 구조로 다량의 데이터를 그룹으로 관리하기위해 사용함
np.ndarray 클래스
: 동일한 자료형을 가지는 값들이 배열 형태로 존재
import numpy as np
arr = np.array(리스트)
type(arr)
- 사칙연산 가능 (내부 모든값에 직접 연산됨)
- 형태 같은 배열끼리 연산 가능
- 인덱싱, 슬라이싱 가능
numpy 함수
np.array(리스트, dtype) : 리스트로 구성된 배열 생성
- dtype=int : 데이터타입을 int형으로 생성
np.zeros(shape) : 0으로 구성된 배열 생성
np.ones(shape) : 1로 구성된 배열 생성
np.full(shape, n) : n으로 구성된 배열 생성
np.arange(시작값, 끝값, 증감) : 연속된 수치로 배열 생성
배열 함수
배열.shape : 배열의 형태(행, 열)
배열.size : 배열 내 요소 전 개수 (행x열)
배열.dtype : 배열 내 데이터타입(자료형) 확인
배열.ndim : 배열의 차원
배열.reshape(a,b) : 배열을 (a,b)의 형태로 재설정
배열.T : 전치(transposition) 행렬, 배열의 행과 열을 바꿔줌
배열 관련 유용한 함수들
np.sum(배열) : 합계 (배열.sum() : python 기본 제공 함수)
np.mean(배열) : 평균 (배열.mean() : 동일)
np.median(배열) : 중앙값
np.sqrt(배열) : 제곱근
np.abs(배열) : 절대값
np.unique(배열) : 배열 내 유일한 값만 출력
난수 생성 : np.random 모듈
np.random.rand(shape) : 0 ~ 1사이의 난수값 생성
np.random.randint(n, size = 개수 또는 (행,열)) : 0 ~ n-1까지 정수 난수값 size만큼 생성
- 그냥 random라이브러리의 randint는 끝 값 포함이지만 numpy의 randint는 끝 값 미포함!!
np.random.seed(k) : 랜덤시드 설정 (→ 똑같은 난수를 반복해서 실행하면 동일하게 출력)
예시
arr1 = np.array([1,2,3,4,5])
arr+1
arr-10
arr*2
arr/2
arr2= np.array([[1,2,3],[4,5,6]])
arr2.shape
arr2.size
arr2.dtype
arr2.ndim
arr3=np.array([ [ [1,2],[3,4] ], [ [5,6],[7,8] ] ] )
arr3.shape
arr3.ndim
arr3.size
arr_zeros = np.zeros((3,4))
arr_ones = np.ones((2,4,3))
arr_full = np.full((5,5), 2)
np.random.seed(2)
np.random.randint(5, size = (2,3))