NumPy 라이브러리에서도
파이썬 리스트와 같이 인덱싱, 슬라이싱을 할 수 있다.
Numpy 라이브러리 활용
1-1. 인덱싱(1차원)
1) 하나의 요소 호출(숫자로 인덱싱) : array명[n]
2) 여러개 요소 호출(리스트로 인덱싱) : array명[[n1, n2, n3]]
1-2. 인덱싱(2차원)
1) x행 y열에 해당하는 요소 : a[x][y] = a[x, y]
2. 슬라이싱
1) array명[x:y] : x ~ y-1 인덱스까지 슬라이싱
2) array명[0:n] = array명[:n] : 처음부터 n-1인덱스까지 슬라이싱
3) array명[n:] : n인덱스부터 마지막 인덱스까지 슬라이싱
4) array명[x:y:z] : x ~ y-1 인덱스까지 z간격으로 슬라이싱
3. 데이터 type 확인
>> array명.dtype
결과) dtype('float64')
4. 배열(Array)의 shape(2차원) 확인
Shape는 배열의 행수(n), 열수(m)를 tuple형태로 나타낸다
>> array명.shape
결과) (n, m)
ex) 배열이 아래와 같을 경우 Shape는
3 | 4 | 2 | 1 |
5 | 7 | 2 | 1 |
2 | 4 | 3 | 4 |
행 수 : 3, 열 수 : 4 이므로
>> np.array(matrix, int).shape
결과) (3, 4)
5. 배열(Array)의 shape(3차원) 확인
3차원 배열의 경우
(x, y, z)로 결과가 나타나며,
x는 차원수, y는 행 수, z는 열 수 로 나타낸다.
>> np.array(tensor, int).shape
6. shape - ndim, size
- ndim : 차원 수
- size : 전체 data의 수
>> np.array(tensor, int).ndim
>> np.array(tensor, int).size
7. reshape
배열의 shape 크기 변경
ex)
3 | 4 | 2 | 1 |
5 | 7 | 2 | 1 |
array01이 (2,4) 배열일 경우,
>> np.array(array01).reshape(8,)
결과) [3, 4, 2, 1, 5, 7, 2, 1]
8. flatten
다차원 array를 1차원 array로 변환
>> array02 = [[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]
>> np.array(array02).flatten()
결과) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
9. diag
대각행렬의 값을 추출
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
>> np.diag(array01)
결과) array([1, 5, 9])
>> np.diag(array01, k=1) *k : start index
결과) array([2, 6])
'DEV' 카테고리의 다른 글
[Data Science] NumPy 라이브러리 활용하기(3) (0) | 2022.04.05 |
---|---|
[Data Science] NumPy 라이브러리 활용하기(1) (0) | 2022.04.05 |
댓글