<8-2주차 수강 클립>
03. 데이터 처리를 위한 Python (Numpy)
01. numpy 모듈 & ndarray 이해하기
02. ndarray 데이터 생성하기 (numpy 모듈 함수 이용)
03. ndarray 데이터 생성하기 (random 서브 모듈 함수 이용)
이번 주차는 데이터 처리에 사용되는 모듈인
numpy에 대해 배워보는 그 첫 시간이었네요!
>>수강 인증샷<<
01. numpy 모듈 & ndarray 이해하기
import numpy as np
import matplotlib.pyplot as plt
: as 키워드로 numpy대신 np로, matplotlib.pyplot 대신 plt로 사용 가능
: pyplot: 그래프 그릴 수 있는 툴
-ndarray란?
n-dimension array = 즉 n차원 array 라는 의미
02. ndarray 데이터 생성하기 (numpy 모듈 함수 이용)
- np.array 함수로 생성하기
x = np.array([1, 2, 3, 4])
y = np.array([[2, 3, 4],
[1, 2, 5]]) #2행 3열 (행렬)
type(y) #<class 'numpy.ndarray'>
: np.array 함수로 생성하기
np.arange(10)
np.arange(1, 10) #[1, 10)
np.arange(1, 10, 2)
: np.arange 함수로 생성하기 (python의 range 함수와 100% 동일)
np.ones((4, 5))
np.zeros((2, 3, 8)) #3차원
: np.ones, np.zeros 함수로 생성하기 (모든 원소가 1, 0)
np.empty((3, 4)) #값이 초기화되지 x
np.full((3, 4), 8) #n행 m열에 채우고자하는 값까지 넘겨주기
: np.empty, np.full 함수로 생성하기 (empty-초기화 되지 않은 쓰레기값, full-넘겨준 값으로 채움)
np.eye(5)
: np.eye 함수로 생성하기 (단위행렬=항등행렬 생성_주대각 성분의 값이 1, 나머지 성분이 0인 정사각행렬이자 대각행렬)
np.linspace(1, 10, 3) #1, 10: 시작, 끝 / 3: 나누고자 하는 수 (1, 10을 포함해서 3등분, 간격이 같아야 함)
: np.linspace 함수로 생성하기 (균일한 간격을 갖도록 생성)
x = np.arange(1, 16)
print(x)
x.shape #tuple로 표현 (15, )
: np.reshape 함수 활용 (ndarray의 형태, 차원을 바꾸기 위해 사용_원소 개수가 동일해야 함!)
03. ndarray 데이터 생성하기 (random 서브 모듈 함수 이용)
np.random.rand(2, 3) #2행 3열의 행렬, 성분은 [0, 1)의 랜덤한 값
: rand 함수 (0, 1 사이의 분포로 랜덤한 ndarray 생성)
#3차원 텐서 _ 4행 2열짜리 행렬이 3개 만들어진다 생각!
np.random.randn(3, 4, 2) #정규분포에서 샘플링 한 값 (음수 값을 가질 수도 있음)
: randn 함수 (정규분포로 샘플링된 랜덤 ndarray 생성_n: normal distribution)
np.random.randint(1, 100, size=(3, 5)) #(low, high, size, ...)
: randint 함수 (특정 정수 사이에서 랜덤하게 샘플링)
np.random.seed(100) #입력값: 정수
np.random.randn(3, 4) #seed함수 호출 후 rand(n)호출할 경우 동일한 랜덤 결과 얻어짐 (seed함수 입력값이 동일하다면)
: seed 함수 (랜덤한 값을 동일하게 다시 생성하고자 할 때 사용 (고정된 랜덤)
#param1이 정수인 경우->np.arange로 ndarray 생성
np.random.choice(100, size=(3, 4))
#param1이 ndarray인 경우
x = np.array([1, 2, 3, 1.5, 2.6, 4.9])
np.random.choice(x, size=(2, 2)) #랜덤으로 골라 2, 2로 만듦
: choice 함수 (주어진 1차원 narray로부터 랜덤으로 샘플링 / default로 중복 허용, replace=False면 중복x)
np.random.uniform(1.0, 3.0, size=(4, 5)) #low~high 사이의 uniform 분포에서 랜덤으로 샘플링
np.random.normal(size=(3, 4)) #평균0, 표준편차1인 정규분포
np.random.randn(3, 4) #동일
: 확률분포에 따른 ndarray 생성 (uniform, normal etc...)
강의 링크: https://bit.ly/3cB3C8y
'코딩 > 머신러닝&데이터 분석 강의' 카테고리의 다른 글
[머신러닝 인강] 9-2주차: ndarray 축(axis), 브로트캐스팅(broadcasting), 불린 인덱싱(boolean indexing) (0) | 2021.04.18 |
---|---|
[머신러닝 인강] 9-1주차: ndarray 인덱싱, 슬라이싱, 기본 함수 (0) | 2021.04.18 |
[머신러닝 인강] 8-1주차: selenium 모듈 (0) | 2021.04.07 |
[머신러닝 인강] 7-2주차: beautifulsoup 모듈 (0) | 2021.04.02 |
[머신러닝 인강] 7-1주차: API의 활용 (0) | 2021.03.30 |