newaxis는 numpy array의 차원을 늘려주는 역할을 한다
예를 들자면
arr_1d = np.arange(4)
print(arr_1d.shape)
out:(4,)
이러한 numpy array를 생성했다
현재 이 배열은 1차원이고 4개의 요소들을 가지고 있다.
그림으로 표현하면 이런 구조가 된다
arr_2d_horizontal = arr_1d[np.newaxis,:]
print(arr_2d_horizontal.shape)
out:(1, 4)
위 코드를 실행 시키면 새로운 차원(축)에 기존의 모든 데이터를 넣는 의미가 된다.
그러므로 위 코드의 배열은 2차원 배열이 되고 1개의 행(차원)에 4개의 요소가 포함된 구조가 된다.
그림으로는 이렇게 표현된다.
arr_2d_vertical = arr_1d[:,np.newaxis]
print(arr_2d_vertical.shape)
out:(4, 1)
위의 코드는 이전과는 반대로 기존의 차원에 각각 새로운 차원(축)을 추가한다는 의미이다.
그러므로 4개의 행에 각각 1개의 열들이 있는 구조가 된다.
그림으로는 이렇게 표현할 수 있다
각각의 열에 새로운 데이터를 추가할 수 있는 구조가 된 것이다.
[1, 5, 6, 7]
[2, 8, 9 ,10]
[3, 11, 12, 13]
[4, 14, 15, 16]
이러한 구조가 된 것이다.
이러한 방법으로 계속해서 차원을 추가할 수 있다.
arr_2d = np.array([[1, 2, 3],[4, 5, 6]])
arr_3d = arr_2d[np.newaxis,:,:]
print(arr_3d.shape)
(1, 2, 3)
위 코드는 3차원 배열을 만드는 코드이다.
shape을 출력한 것을 보면 1개의 차원안에 2개의 차원이 그 2개의 차원 안에는 각각 3개의 요소들이 포함되어 있다.
해석하면 새로운 차원(축)에 기존의 2차원 배열을 삽입한다는 뜻이 된다.
그림으로는 이렇게 표현할 수 있다.
'AI > Pandas' 카테고리의 다른 글
Pandas의 데이터 조회 및 검사 (0) | 2024.10.03 |
---|---|
Pandas 의 데이터 구조 (0) | 2024.09.24 |