Numpy
Numerical Python, 파이썬에서 대규모 다차원 배열을 다룰 수 있게 도와주는 라이브러리.
Python List와 다르게 array는 단일 타입으로 구성
#import numpy as np
arr.dtype #데이터 타입 확인
arr.astype(int) #데이터 타입 int로 변경
np.array([1,2,3,4,5]) #리스트 생성#array([1,2,3,4,5,])
np.array([0,10,2]) #범위와 간격을 설정할 수 있다 #array([0,2,4,6,8]) 마지막은 포함x
np.zero(10, dtype=int) #int타입의 0값을 가진 10개의 인덱스를 생성 #array([0,0,0,0,0,0,0,0,0,0])
np.ones((3, 5) dtype=float) #float타입의 1값을 가진 데이터를 3 x 5 형태로 생성
#array([[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.]])
np.linespace(0, 1, 5) 0 부터 1까지 5구간으로 쪼개어 리스트 생성
# array ([0. , 0.25, 0.5 , 0.75, 1. ])
x2 = np.random.randint(10, size=(3, 4))
# array([[2, 2, 9, 0],
[4, 2, 1, 0],
[1, 8, 7, 3]])
x2.ndim #
2x2.shape # (3, 4)
x2.size # 12
x2.dtype # dtype(‘int64’)
#array는 +, - ,* , / 에 대한 기본 연산을 지원한다
x = np.arange(4)
# array([0, 1, 2, 3])
x + 5 # array([5, 6, 7, 8])
x -5 # array([-5, -4, -3, -2])
x * 5 # array([ 0, 5, 10, 15])
x / 5 # array([0. , 0.2, 0.4, 0.6])
#난수
np.radom.random((2, 2))
#array([[0.30986539, 0.85863508],[0.89151021, 0.19304196]])
np.random.normal(0, 1, (2, 2))
#array([[ 0.44050683, 0.04912487],[-1.67023947, -0.70982067]])
np.random.randint(0, 10, (2, 2))
#array([[3, 9],[3, 2]])
concatenate : array를 이어 붙임
x = np.array([0, 1, 2])
y = np.array([3, 4, 5])
np.concatenate([x, y]) # array([0, 1, 2, 3, 4, 5])
#axis 축을 기준으로 이어붙일 수 있음, 1 = 가로 방향, 0 = 세로 방향
브로드캐스팅(Broadcasting) : shape 다른 array 끼리 연산
브로드캐스팅은 어떤 조건만 만족한다면 모양이 다른 배열끼리의 연산도 가능하게 해주며 모양이 부족한 부분은 확장하여 연산을 수행할 수 있도록 한다는 것이라고 생각할 수 있다. 확장 또는 전파한다는 의미
출처: https://sacko.tistory.com/16 [데이터 분석하는 문과생, 싸코]
matrix + np.array([1, 2, 3])
마스킹 연산
True, False array를 통해서 특정 값들을 뽑아내는 방법
x = np.arange(5)
# array([0, 1, 2, 3, 4])
x < 3
# array([ True, True, True, False, False])
x > 5
# array([False, False, False, False, False])
x[x < 3]
# array([0, 1, 2])
'개인 공부' 카테고리의 다른 글
Pandas 개념 및 기본정리 (0) | 2021.09.26 |
---|---|
List comprehension(LC)과 삼항연산자 (0) | 2021.09.25 |
데이터 사이언티스트(Data Scientist) 란? (0) | 2021.09.18 |
댓글