Numpy
- Numerical Python의 줄임말
- 선형대수 라이브러리
- 다차원 배열을 다룰 때 주로 사용
- 수열 데이터를 다룰 때 용이하며 동일한 연산을 하더라도 Python에 비해 처리 속도가 빠름
- import numpy as np를 통해 np로 사용함
Numpy 기본 메서드
- array = 해당 시퀀스 타입 데이터를 numpy.ndarray 타입으로 변환 (dtype=으로 원소 데이터 타입 지정 가능)
- array는 list와 다르게 동일한 데이터 타입의 원소만 저장 가능
- arange(시작, 끝+1, 간격) = range와 비슷하게 수열데이터 생성
- dtype = type 조회
- shape = 행과 열의 개수를 tuple 형식으로 출력
- ndim = 해당 자료가 몇차원으로 구성되어있는지 출력
- itemsize = 원소 각 하나의 비트 수 (1byte = 8비트) 출력
- size = 원소의 개수 출력
- strides = (각 dimension의 간격, 데이터간의 간격)을 튜플 형식으로 출력
- sum = 총합, max = 최대값, min = 최솟값, ptp = 최대값-최솟값, mean = 평균, dot = 행렬 곱셈
- std = 표준편차, var = 분산, sqrt = 제곱근
- argmax = numpy.ndarray 타입 데이터에서 최대값의 인덱스 번호 출력
- argmin = numpy.ndarray 타입 데이터에서 최솟값의 인덱스 번호 출력
- astype = 해당 데이터 타입으로 변경
ex) astype(str) = 데이터 타입 str로 변경
- reshape(행렬 숫자,행 숫자,열 숫자) = 데이터 제시한 행과 열로 변경
ex) reshape(2,3) = 데이터 2행 3열로 변경
- flatten = 해당 자료의 차원을 1차원으로 변경(평탄화)
- zeros(행 숫자,열 숫자) = 제시한 행과 열로 구성된 영벡터 생성
- ones(행 숫자,열 숫자) = 제시한 행과 열로 구성된 일벡터 생성
- insert(자료명, 인덱스값, 넣을 데이터) = 해당 자료 지정 인덱스 위치에 해당 데이터 추가
(인덱스 -1로 하면 append와 같음)
- append(파일, 추가할 데이터) = 해당 numpy.ndarray파일에 해당 데이터 추가하여 출력(원본 변경 X)
※ 원본 변경하려면 test = np.append(test, 15)와 같이 입력해주어야 함.
- delete(자료명, 삭제할 데이터의 인덱스값, 축(2차원 기준 행 = 0 or 열 = 1) 설정) = 해당 인덱스 위치 데이터 삭제
ex) delete(A,1,0) = A에서 두번째 행의 데이터 삭제
delete(A,1,1) = A에서 두번째 열의 데이터 삭제
- median = 중앙값 데이터 출력
- cumsum = 누적합계 데이터 리스트 형식으로 출력
- sort = 데이터 오름차순으로 정렬 (내림차순은 sort()[::-1])
- argsort = sort하기 전에 원본의 인덱스번호가 오름차순 정렬 후에 어떤 자리에 위치할지 인덱스번호 출력
- searchsorted(자료명, 넣을 데이터) = 넣을 데이터가 자료의 몇번째 인덱스를 차지하게 될지 인덱스번호 출력
- flip = 기존 데이터 역순으로 정렬
※ numpy에는 기본적으로 random 모듈이 적용되어있음
- choice, rand 같은 메서드에서 중복을 방지하고 싶으면 replace=False 입력
- random.seed = 무작위로 생성되는 수를 고정
- repeat(데이터, 숫자, 축) = 해당 데이터 지정 숫자만큼 복사하여 출력
※ 축(axis)은 2차원의 경우 axis = 0 : 행, axis = 1 : 열을 의미(3차원은 0: 깊이, 1: 행, 2: 열)
-> repeat([1,2],10,axis=0) = [1,2]를 10개 행으로 복사
- numpy.ndarray형식의 파일은 각 원소에 5를 더하는 것을 간단하게 +5로 가능(브로드캐스팅)
ex) test = [5,10,15] test + 5 -> test = [10,15,20]
3차원 인덱싱&슬라이싱
- A[행렬의 범위, 행의 범위, 열의 범위]
A[:] = 전체 출력, A[a:] = a부터 끝까지, A[:b] = 처음부터 b-1까지, A[a:b] = a부터 b-1까지
ex) A[1,1:3,0:2] = 1번째 행렬에서 1~2행의 0~1열 원소 출력
A[:,:4,:1] = 전체 행렬에서 0~3행의 0열 원소 출력
- 불린 인덱싱 = 필요한 데이터에 대한 범위를 설정하여 출력
ex) A[A>13] = A의 데이터에서 13보다 큰 데이터만 출력
- transpose = 행백터-> 열백터 or 열백터 -> 행백터로 변환 (간단하게 .T로 입력가능)
'빅데이터 부트캠프 > Python' 카테고리의 다른 글
빅데이터 부트캠프 13일차 (0) | 2022.07.20 |
---|---|
빅데이터 부트캠프 11일차 (0) | 2022.07.18 |
빅데이터 부트캠프 10일차 (0) | 2022.07.15 |
빅데이터 부트캠프 9일차 (0) | 2022.07.14 |
빅데이터 부트캠프 8일차 (0) | 2022.07.13 |
댓글