목차
import numpy as np
Python
복사
1. array에 데이터 넣기
1.1 arange
•
range와 사용 방법이 같음
•
하지만 range보다 속도가 빠름
1.2 linspace, logspace
1.3 random
array에 랜덤하게 수를 발생시켜 넣어주는 방법을 알아보자.
•
seed: 랜덤변수의 설정값
◦
seed 값을 동일하게 주면 같은 동일한 결과를 반복해서 얻을 수 있음
•
rand: 균등분포(uniform)로 난수를 발생시킴
•
randn: 정규분포(Gaussian)로 난수를 발생시킴
•
randint: 정수로 난수를 발생시킴 (균등분포)
•
suffle: 행렬 데이터를 섞어줌
•
choice: 특정 범위의 숫자를 선택해줌 (확률 설정이 가능)
(1) seed, rand, randn
•
np.random.rand(size)
•
np.random.randn(size)
(2) randint
•
np.random.randint(from, to, size)
(3) shuffle
•
데이터의 순서를 바꿀수 있음
•
행의 순서만 바뀜 (행 안의 데이터는 바뀌지 않음)
•
데이터를 다 바꾸려면? 1열로 reshape 후 shuffle, 그 후 다시 reshape
(4) choice
•
numpy.random.choice(a, size=None, replace=True, p=None)
◦
a: 1-D array-like or int
◦
size: int or tuple of int, optional
◦
replace: boolen, optional (False: equivalent to permutation - 비복원추출!)
◦
p: 1-D array-like, optional (입력하지 않으면 a에 대해 uniform distribution)
2. unique
•
행렬 데이터에서 유일값(중복없는 list)과 유일값의 개수를 확인할 수 있음
3. stack & concatenate
3.1 stack
•
행렬을 쌓는 것과 같이 합치는 방법
•
numpy.stack(arrays, axis=0, out=None)
◦
arrays: sequence of array_like (각 array는 같은 shape여야 함!)
◦
axis: The axis in the result array along which the input arrays are stacked (몇번째 차원의 방향으로 쌓는가)
(1) 1차원 행렬의 stack
(2) 2차원 행렬의 stack
3.2 concatenate (결합)
•
세로 결합(axis=0, default)은 열의 갯수가 같아야 함
•
가로 결합(axis=1)은 행의 갯수가 같아야 함
3.3 column/row 결합
•
c_[array1, array2]: column 결합
•
r_[array1, array2]: row 결합 → 결과가 1행 행렬이 됨
•
stack이나 concatenate이 더 빠름
4. split
4.1 vsplit / hsplit
•
행렬을 수직, 수평으로 나눈다
5. sort
참고자료
•
•
패스트캠퍼스, ⟪데이터사이언스스쿨 8기⟫ 수업자료