Skip to content

NumPy 치트 시트

NumPy 시스템은 Python을 위한 오픈 소스 수치 계산 확장 라이브러리입니다. 이 도구는 대규모 행렬을 저장하고 처리하는 데 사용할 수 있으며, Python 자체의 내장 리스트 구조(행렬을 표현하는 데에도 사용 가능)보다 훨씬 효율적입니다.

설명

arr은 NumPy 배열 객체를 나타냅니다.

모듈 임포트

import numpy as np

임포트/엑스포트

np.loadtxt(‘file.txt’) 텍스트 파일에서 읽기
np.genfromtxt(‘file.csv’,delimiter=’,’) CSV 파일에서 읽기
np.savetxt(‘file.txt’,arr,delimiter=’ ‘) 텍스트 파일에 쓰기
np.savetxt(‘file.csv’,arr,delimiter=’,’) CSV 파일에 쓰기

배열 생성

np.array([1,2,3]) 1차원 배열
np.array([(1,2,3),(4,5,6)]) 2차원 배열
np.zeros(3) 길이가 3이고 모든 값이 0인 1차원 배열
np.ones((3,4)) 모든 값이 1인 3x4 배열
np.eye(5) 대각선은 1이고 나머지는 0인 5x5 배열 (단위 행렬)
np.linspace(0,100,6) 0에서 100까지 균일하게 간격이 지정된 6개 값의 배열
np.arange(0,10,3) 0에서 10 미만까지 간격이 3인 값의 배열 (예: [0,3,6,9])
np.full((2,3),8) 모든 값이 8인 2x3 배열
np.random.rand(4,5) 0-1 사이의 난수(float)로 구성된 4x5 배열
np.random.rand(6,7)*100 0-100 사이의 난수(float)로 구성된 6x7 배열
np.random.randint(5,size=(2,3)) 0-4 사이의 난수(int)로 구성된 2x3 배열

속성 검사

arr.size 배열 요소의 총 개수 반환
arr.shape 배열의 차원(모양) 반환
arr.dtype 배열에 있는 요소의 데이터 형식 반환
arr.astype(dtype) 배열 요소 형식을 dtype으로 변환
arr.tolist() 배열을 리스트로 변환
np.info(np.eye) np.eye에 대한 문서 확인

복사/정렬/모양 변경

np.copy(arr) 배열을 새 메모리에 복사
arr.view(dtype) dtype 형식을 사용하여 배열 요소의 뷰 생성
arr.sort() 배열 정렬
arr.sort(axis=0) 배열의 특정 축 정렬
two_d_arr.flatten() 2차원 배열을 1차원으로 평탄화
arr.T 배열 전치(행과 열을 바꿈)
arr.reshape(3,4) 데이터를 변경하지 않고 배열의 모양을 3행 4열로 변경
arr.resize((5,6)) 배열 모양을 5x6으로 변경하고 새 값을 0으로 채움

요소 추가/삭제

np.append(arr,values) 배열 끝에 값 추가
np.insert(arr,2,values) 인덱스 2 앞에 배열에 값 삽입
np.delete(arr,3,axis=0) 배열의 인덱스 3에 있는 행 삭제
np.delete(arr,4,axis=1) 배열의 인덱스 4에 있는 열 삭제

결합/분할

np.concatenate((arr1,arr2),axis=0) arr1의 끝에 arr2를 행으로 추가
np.concatenate((arr1,arr2),axis=1) arr1의 끝에 arr2를 열로 추가
np.split(arr,3) 배열을 3개의 하위 배열로 분할
np.hsplit(arr,5) 5번째 인덱스에서 배열을 가로로 분할

인덱싱/슬라이싱/하위 집합 생성

arr[5] 인덱스 5의 요소 반환
arr[2,5] 인덱스 [2][5]의 2차원 배열 요소 반환
arr[1]=4 인덱스 1의 배열 요소에 값 4 할당
arr[1,3]=10 인덱스 [1][3]의 배열 요소에 값 10 할당
arr[0:3] 인덱스 0,1,2의 요소 반환(2차원 배열의 경우 0,1,2행 반환)
arr[0:3,4] 0,1,2행의 4열 요소 반환
arr[:2] 인덱스 0,1의 요소 반환(2차원 배열의 경우 0,1행 반환)
arr[:,1] 모든 행의 인덱스 1 요소 반환
arr<5 부울 값을 가진 배열 반환
(arr1<3) & (arr2>5) 부울 값을 가진 배열 반환
~arr 부울 배열 반전
arr[arr<5] 5보다 작은 배열 요소 반환

스칼라 연산

np.add(arr,1) 각 배열 요소에 1 더하기
np.subtract(arr,2) 각 배열 요소에서 2 빼기
np.multiply(arr,3) 각 배열 요소에 3 곱하기
np.divide(arr,4) 각 배열 요소를 4로 나누기(0으로 나누면 np.nan 반환)
np.power(arr,5) 각 배열 요소를 5제곱하기

벡터 연산

np.add(arr1,arr2) arr1애 arr2를 요소별로 더하기
np.subtract(arr1,arr2) arr1에서 arr2를 요소별로 빼기
np.multiply(arr1,arr2) arr1에 arr2를 요소별로 곱하기
np.divide(arr1,arr2) arr1을 arr2로 요소별로 나누기
np.power(arr1,arr2) arr1을 arr2의 거듭제곱으로 요소별로 계산하기
np.array_equal(arr1,arr2) 배열의 요소와 모양이 같으면 True 반환
np.sqrt(arr) 배열의 각 요소에 대한 제곱근
np.sin(arr) 배열의 각 요소에 대한 사인
np.log(arr) 배열의 각 요소에 대한 자연 로그
np.abs(arr) 배열의 각 요소에 대한 절대값
np.ceil(arr) 가장 가까운 정수로 올림
np.floor(arr) 가장 가까운 정수로 내림
np.round(arr) 가장 가까운 정수로 반올림

통계

np.mean(arr,axis=0) 특정 축을 따라 평균 반환
arr.sum() 배열의 합계 반환
arr.min() 배열의 최소값 반환
arr.max(axis=0) 특정 축의 최대값 반환
np.var(arr) 배열의 분산 반환
np.std(arr,axis=1) 특정 축의 표준 편차 반환
arr.corrcoef() 배열의 상관 계수 반환