python/numpy 12

matplotlib 모듈을 이용하여 그래프 표현하기

import numpy as np import matplotlib.pyplot as plt %matplotlib inline # 그래프가 주피터 안에서 그려진다는 의미 그래프 데이터 생성 그래프 출력하기 plot함수 (선 그래프), scatter(점 그래프), hist(히스토그램) 등 사용 함수의 parameter 혹은 plt의 다른 함수로 그래프 형태 및 설정을 변경하능 기본적으로 x,y에 해당하는 값이 필요 그래프에 주석 추가 x,y 축 및 타이틀 grid 추가 x,y 축 범위 지정 plot 함수 parameters 그래프 형태에 대한 제어 가능 plot함수 도큐먼트 pyplot — Matplotlib 2.0.2 documentation Parameters:X : array_like, shape (n..

python/numpy 2021.03.29

Boolean indexing

Boolean indexing ndarray 인덱싱 시, bool 리스트를 전달하여 True인 경우만 필터링 브로드캐스팅을 활용하여 ndarray로 부터 bool list 얻기 예) 짝수인 경우만 찾아보기 bool 리스트를 인덱스로 전달 다중조건 사용하기 파이썬 논리 연산자인 and, or, not 키워드 사용 불가 & - AND | - OR 예제) 2019년 7월 서울 평균기온 데이터 평균기온이 25도를 넘는 날수는? 평균기온이 25를 넘는 날의 평균 기온은?

python/numpy 2021.03.29

Broadcasting의 이해

import numpy as np 브로드캐스팅 Shape이 같은 두 ndarray에 대한 연산은 각 원소별로 진행 연산되는 두 ndarray가 다른 Shape을 갖는 경우 브로드캐스팅(Shape을 맞춤) 후 진행 브로드캐스팅 Rule 차원에서 부터 비교하여 Shape이 같거나, 차원 중 값이 1인 것이 존재하면 가능 Shape이 같은 경우의 연산 Sclar(상수)와의 연산 Shape이 다른 경우 연산 뒷차원 부터 계산한다 ex) (4,3) + (1,3) 이면 (1,3)의 3이 (4,3)의 3과 같으므로 broadcasting 가능하다 그러나 (4,3) 과 (1,4)는 뒤 행렬의 4와 앞 행렬의 3이 다름으로 broadcasting이 불가능 하다

python/numpy 2021.03.29

axis를 파라미터로 갖는 함수 이해하기

import numpy as np axis 이해하기 몇몇 함수에는 axis keyword 파라미터가 존재 axis값이 없는 경우에는 전체 데이터에 대해 적용 axis값이 있는 경우에는, 해당 axis를 따라서 연산 적용 axis를 파라미터로 갖는 함수를 이용하기 거의 대부분의 연산 함수들이 axis 파라미터를 사용 이 경우, 해당 값이 주어졌을 때, 해당 axis를 따라서 연산이 적용 따라서 결과는 해당 axis가 제외된 나머지 차원의 데이터만 남게 됨 예) np.sum , np.mean, np.any 등등 1차원 데이터에 적용하기 행렬에 적용하기 3차원 텐서에 적용하기 axis의 값이 튜플일 경우 해당 튜플에 명시된 모든 axis에 대해서 연산

python/numpy 2021.03.28

numpy에서 자주 사용되는 함수

import numpy as np numpy documentation numpy 공식 문서 링크 numpy 에서 제공되는 함수등에 대한 문서 numpy.org/devdocs/reference/ NumPy Reference — NumPy v1.21.dev0 Manual This reference manual details functions, modules, and objects included in NumPy, describing what they are and what they do. For learning how to use NumPy, see the complete documentation. Acknowledgements Large parts of this manual originate from Tr..

python/numpy 2021.03.28

ndarray shape 변경하기

import numpy as np ravel, np.ravel 다차원 배열을 1차원으로 변경 'order' 파라미터 'C' - row 우선 변경 'F' - column 우선 변경 flatten 다차원 배열을 1차원으로 변셩 ravel과의 차이점: copy를 생성하여 변경함 (즉 원본 데이터가 아닌 복사본을 반환) 'order' 파라미터 'C' - row 우선 변경 'F' - column 우선 변경 reshape 함수 array의 shape를 다른 차원으로 변경 주의할점은 reshape한 후의 결과의 전체 원소 개수와 이전 개수가 같아야 가능 사용 예) 이미지 데이터 벡터화 - 이미지는 기본적으로 2차원 혹은 3차원(RGB)이나 트레이닝을 위해 1차원으로 변경하여 사용됨

python/numpy 2021.03.28

random 서브모듈 함수를 통해 ndarray 생성하기

import numpy as np random 서브모듈 rand 함수 0,1사이의 분포로 랜덤한 ndarray 생성 randn 함수 n: normal distribution (정규분포) 정규분포로 샘플링된 랜덤 ndarray 생성 randint 함수 특정 정수 사이에서 랜덤하게 샘플링 seed 함수 랜덤한 값을 동일하게 다시 생성하고자 할때 사용 1) seed 함수 호출 2) random 함수로 ndarray 생성 3) seed 함수로 인해 random 함수로 ndarray를 다시 생성하면 1번과 같은 ndarray가 생성된다 choice 주어진 1차원 ndarray로 부터 랜덤으로 샘플링 replace 파라미터를 False로 두면 중복된 값을 만들지 않는다 확률분포에 따른 ndarray 생성 unifo..

python/numpy 2021.03.28

다양한 방법으로 ndarray 생성하기

import numpy as np np.array 함술로 생성하기 x=np.array([1,2,3,4]) print(x) y=np.array([[2,3,4],[1,2,5]]) print(y) print(type(y)) np.arange 함수로 생성하기 np.ones, np.zeros 로 생성하기 np.empty, np.full로 생성하기 np.eye로 생성하기 단위 행렬 생성 np.linspace로 생성하기 마지막 값의 개수로 사이 값을 균일하게 나누어주는 함수 reshape 함수 활용 ndarray의 형태, 차원을 바꾸기 위해 사용 차원을 바꿀때 원소의 개수가 맞아야함

python/numpy 2021.03.28