- 기본적으로 2차원으로 구성(3,4,..N차원 가능)
- 열 : 정보, 변수, 요인 / 행: 분석단위,샘플, 관측치, DataPoint
용어
- axis: 배열의 각 축
- rank: 축의 개수 (= n차원)
- shape: 축의 길이, 배열의 크기 ( ex: 3x5배열 = (3,5) )
배열 생성
- 리스트 생성 ( a1 = [1, 2, 3, 4, 5] )
- 배열 생성 ( b1 = np.array(a1) )
배열 정보 확인
- 배열 차원확인 : 배열이름.ndim ( -> rank개수)
- 형태(크기) 확인 : 배열이름.shape
- 요소 자료형 확인 : 배열이름.dtype (-> int32)
Reshape
: 배열에 포함된 요소가 사라지지 않는 형태라면 자유롭게 변환함.
a = np.array([[1, 2, 3],
[4, 5, 6]])
# (3, 2) 형태의 2차원 배열로 Reshape
b = a.reshape(3, 2)
#결과 [[1 2] [3 4] [5 6]]
# -1의 편리함.
# reshape(m, -1) 형태로 지정하여 Reshape 가능
print(a.reshape(1, -1))
#결과 [[1 2 3 4 5 6]]
배열 인덱싱 & 슬라이싱
인덱싱 : 배열이름[행,열] , 배열이름[ [행1,행2,...],[열1,열2,...] ] ( *열은 생략가능, 행을 정하고 싶지 않다면 꼭 ' : ' 사용 )
슬라이싱 : 배열[ 행1:행N, 열1 : 열N ]
배열 연산
더하기(+) = np.add(더할 배열x,배열y)
빼기(-) = np.substract(x,y)
곱하기(*) = np.multiply()
나누기(/) = np.divide()
지수(**) = np.power()
배열 집계
- np.sum()
# 전체 집계
print(np.sum(a))
# 열기준 집계
print(np.sum(a, axis = 0))
# 행기준 집계
print(np.sum(a, axis = 1))
#np.sum 대신 array.sum가능
- np.argmax()
# 전체 중에서 가장 큰 값의 인덱스
print(np.argmax(a))
# 행 방향 최대값의 인덱스
print(np.argmax(a, axis = 0))
# 열 방향 최대값의 인덱스
print(np.argmax(a, axis = 1))
- np.where()
- np.where( 조건문, True일때 값, False일 때 값)
'Python' 카테고리의 다른 글
Pandas (0) | 2024.09.08 |
---|---|
자료형(List, Dictionary, Tuple) (0) | 2024.09.08 |