NumPy 미리 보기
0. INTRO
1차원 배열 데이터를 조작하는데 기본적으로 사용되는 코드를 슬라이싱(Slicing)이라고 한다. 슬라이싱 방법을 기반으로 배열 데이터를 조작해보자.
1. 슬라이싱 코드
슬라이싱 코드를 가장 쉽게 사용하는 방법은 정수 형태의 범위를 지정해주는 것이다. 다음의 예시 코드를 보자.
예시 코드:
L=np.arange(10)
L 변수에 저장된 array 데이터를 조각 내버렸다. 결과를 보면 알겠지만, 인덱스를 기준 순서로 하여 데이터를 조각낸다. 이 슬라이싱 방법은 인덱스 순서를 일정 단계(step)를 가지는 순서로 조각낼 수 도 있다. 다음의 예시 코드를 참고하자.
예시 코드:
S=L[:5:2]
이번에는 시작 인덱스를 지정하지 않았는데, 이는 인덱스 0을 의미한다. 예시 코드의 결과를 보기 전에, 인덱스 순서를 거꾸로 하는 법도 알고 넘어가자. 단계(Step)에 음수 -1을 넣으면 배열의 순서를 반대로 뒤집어서 슬라이싱 하게 된다. 다음의 추가 예시 코드를 참고하자.
추가 예시 코드:
S2=L[::-1]
2. 배열 차원 분리 _ reshape
지금까지 1차원 배열에 대해 언급했다면, 1차원 배열을 2차원 배열로 만들어주는 방법을 짚고 넘어가 보자. 먼저, 다음의 예시 코드를 참고하자.
예시 코드:
R=L.reshape(2,5)
놀랍게도 배열이 2개로 분리되었다. 분리된 배열의 첫 번째 원소가 1차원 배열 [0,1,2,3,4]이고 두 번째 원소 역시 1차원 배열 [5,6,7,8,9]가 되는 것이다. 즉, reshape 코드의 첫 번째 숫자 2는 배열을 2개로 분리한다는 것을 의미하고, 두 번째 숫자 5는 분리된 배열이 가지는 원소 개수를 의미하게 된다. 주의할 점은 차원을 분리할 기존 배열의 원소 개수와 분리된 원소의 개수 총합이 정확히 맞아야 한다는 것이다.
3. 배열 차원 통합 _ ravel() or flatten()
reshape 코드와 반대의 개념을 ravel() 혹은 flatten() 함수가 제공한다. 다음의 예시 코드로 분리된 배열들이 어떻게 합쳐지는지 이해하도록 하자.
예시 코드:
L2=S.ravel()
L3=S.flatten()
'COMPUTER SCIENCE > Python' 카테고리의 다른 글
[DataFrame] 행 이름 또는 열 이름 지정 / 추출 (1) | 2022.10.01 |
---|---|
[NumPy] 행렬 만들기 _ mat 함수 (0) | 2022.03.12 |
[NumPy] 데이터 타입 (0) | 2022.03.04 |
NumPy _ 파이썬의 배열 (0) | 2022.03.04 |
코딩 테스트 준비하기 _ Python3 (0) | 2022.01.07 |