- 데이터 준비 -
arr = np.arange(15).reshape((3,5))
arr, arr.shape, arr.dtype
arr2 = np.arange(24).reshape((2,3,4))
arr2, arr2.shape
numpy 축 변경 => T
.T : 단순 교환과 2차원 교환 까지는 T로 해결가능합니다.
arr.T, arr.shape
arr2.T, arr2.T.shape
# T는 무조건 대칭점으로 반점됩니다.
numpy 축 변경 => transpose
.transpose() : 다차원 교환은 transpose로 해결가능합니다.
arr.transpose(), arr.transpose().shape
arr.transpose((1,0)), arr.transpose((1,0)).shape
# 1번 축과 0번 축을 교환
arr2.transpose((2,0,1)), arr2.transpose((2,0,1)).shape
# transpose는 축을 자유롭게 교환할 수 있어서 shape 변화가 용이합니다.
# reshape 는 순서대로 배치되는 것이고, transpose는 축교환과 데이터가 뒤섞이는 것입니다.
numpy 유니버셜 함수 => sqrt(제곱근), exp(지수함수), log(로그함수)
test = np.arange(10)
np.sqrt( ) : 제곱하여 a가 되는 수를 a의 제곱근이라고 합니다.
np.sqrt(test)
np.exp( ) : a > 0이고 a ≠ 1일 때, 함수 y = a*을 a를 밑으로 하는 *의 지수함수라 합니다.
np.exp(test)
np.log( ) : 로그함수는 지수함수의 역함수입니다.
np.log(np.exp(test))
numpy 유니버셜 함수 => max/min(최대/최소값), maximum/minimum, argmax/argmin
x = np.random.randn(5)
y = np.random.randn(5)
x, y
max/min( ) : 배열 데이터 중 가장 큰/작은 값을 출력합니다.
np.max(x), np.max(y), np.min(x), np.min(y)
argmax/argmin( ) : 가장 큰/작은 값을 가진 원소의 인덱스를 출력합니다.
np.argmax(x), np.argmin(y)
maximum/minimum( ) : 각 원소끼리 자리별로 비교하여 큰/작은 값을 출력합니다.
np.maximum(x, y), np.minimum(x, y)
numpy 유니버셜 함수 => modf(정수와 소수 분리), where(조건절), mean(평균), cumsum(누적합)
np.modf(x)
# np.modf(x)[1], [0] 으로 정수부분, 소수부분을 따로 출력할 수 있습니다.
# b, a = np.modf(x) 로 정수부분, 소수부분을 따로 출력할 수 있습니다.
b, a = np.modf(x)
b
where( )
np.where(x>0, x, y) : x가 0초과면 x의 원소를 출력하고, 거짓이면 y를 출력합니다.
mean( )
np.mean(x) : x 원소의 평균값을 출력합니다.
-데이터 준비-
z = np.arange(20).reshape(5, 4)
z
np.mean(z, axis=1) : 가로의 평균을 출력합니다.
cumsum( ) : 누적합을 출력합니다.
z.cumsum(), z.sum()
z.cumsum(0) : 종으로 누적합을 출력합니다.
z.cumsum(1) : 횡으로 누적합을 출력합니다
numpy 유니버셜 함수 => sum/any/all(결측치 확인), unique(중복제거), in1d(검사)
결칙치 확인
- 데이터 준비 -
arr3 = np.array([True, False, True, False])
arr3
np.sum(arr3) : 참을 1, 거짓을 0으로 해석합니다.
arr3.any() : 배열의 구성요소들 중에 1개 이상 참 값이 존재하는지?
arr3.all() : 배열의 구성요소들이 모두 참인지?
np.sum(arr3), arr3.any(), arr3.all()
- 데이터 준비 -
arr4 = np.array([4,3,2,1,2,4,5,1])
np.unique(arr4) : 배열의 구성요소들 중 중복요소를 제거하고 정렬해서 출력합니다.
np.in1d(arr4, [1,2,5]) : 해당 원소들이 대상 배열에 포함되어 있으면 참의 결과값으로 출력합니다.
numpy 유니버셜 함수 => intersect1d/union1d/setdiff1d/setxor1d(집합계열)
- 데이터 준비 -
x = np.array([1,2,3,4,5])
y = np.array([4,5,6,7,8,9])
x, y
np.intersect1d(x, y) : x, y 교집합
np.union1d(x, y) : 합집합
np.setdiff1d(x, y) : 차집합
np.setxor1d(x, y) : 대칭차집합 : 두 배열에 모두 포함되지 않는 원소들 (즉 x에 포함되지 않는 원소들과 y에 포함되지 않는 원소들의 합집합)
'파이썬(Python)' 카테고리의 다른 글
판다스 / pandas 1 - 기본생성, 외부에서 데이터 호출, 데이터 기본 점검 (0) | 2021.08.04 |
---|---|
넘파이 / numpy 5 - 선형대수, 저장 및 로드, 압축 (0) | 2021.08.04 |
넘파이 / numpy 3 - 데이터 추출(인덱싱, 슬라이싱), 스칼라값 수정, 배열 재정립 (0) | 2021.08.03 |
넘파이 / numpy 2 - 배열타입, 배열 랜덤 생성, 기본 연산 (0) | 2021.08.03 |
넘파이 / numpy 1 - 개념, 배열생성, 배열복제 (0) | 2021.08.03 |