스택큐힙리스트

NumPy 배열에 추가 열을 어떻게 추가하나요? 본문

카테고리 없음

NumPy 배열에 추가 열을 어떻게 추가하나요?

스택큐힙리스트 2023. 3. 31. 04:08
반응형

다음 2D 배열이 제공됩니다.

a = np.array([

[1, 2, 3],

[2, 3, 4],

])

나는 두 번째 축에 0 열을 추가하여 다음을 얻고 싶습니다.

b = np.array([

[1, 2, 3, 0],

[2, 3, 4, 0],

])

답변 1

np.r_[ ... ]과 np.c_[ ... ]은 ( ) 대신에 대괄호 []를 사용하는 유용한 대안입니다. 몇 가지 예시입니다:

: import numpy as np

: N = 3

: A = np.eye(N)

: np.c_[ A, np.ones(N) ] # add a column

array([[ 1., 0., 0., 1.],

[ 0., 1., 0., 1.],

[ 0., 0., 1., 1.]])

: np.c_[ np.ones(N), A, np.ones(N) ] # or two

array([[ 1., 1., 0., 0., 1.],

[ 1., 0., 1., 0., 1.],

[ 1., 0., 0., 1., 1.]])

: np.r_[ A, [A[1]] ] # add a row

array([[ 1., 0., 0.],

[ 0., 1., 0.],

[ 0., 0., 1.],

[ 0., 1., 0.]])

: # not np.r_[ A, A[1] ]

: np.r_[ A[0], 1, 2, 3, A[1] ] # mix vecs and scalars

array([ 1., 0., 0., 1., 2., 3., 0., 1., 0.])

: np.r_[ A[0], [1, 2, 3], A[1] ] # lists

array([ 1., 0., 0., 1., 2., 3., 0., 1., 0.])

: np.r_[ A[0], (1, 2, 3), A[1] ] # tuples

array([ 1., 0., 0., 1., 2., 3., 0., 1., 0.])

: np.r_[ A[0], 1:4, A[1] ] # same, 1:4 == arange(1,4) == 1,2,3

array([ 1., 0., 0., 1., 2., 3., 0., 1., 0.])

(원 따옴표 () 대신에 []를 사용한 이유는 파이썬이 대괄호 안에 1:4와 같은 것을 확장하기 때문입니다. 이것은 오버로딩의 경이입니다.)

답변 2

NumPy는 많은 사용자들이 데이터를 처리할 때 많은 도움을 주는 파이썬 라이브러리 중 하나입니다. NumPy 배열은 여러 가지 기능을 사용하여 데이터를 처리하며, 이를 위해서는 때로는 배열에 추가 열이 필요할 때도 있습니다. 이 글에서는 NumPy 배열에 열을 추가하는 방법에 대해 알아보겠습니다.

NumPy 배열에 열을 추가하는 가장 간단한 방법은 np.hstack() 함수를 사용하는 것입니다. 이 함수는 배열을 수평 방향으로 연결하며, 따라서 새로운 열을 추가할 수 있습니다. 예를 들어, 2x3 크기의 배열이 있다면 다음과 같이 새로운 열을 추가할 수 있습니다.

```

import numpy as np

# 2x3 배열 생성

arr = np.array([[1, 2, 3], [4, 5, 6]])

# 새로운 열 추가

new_col = np.array([7, 8])

# np.hstack 함수를 사용하여 배열에 새로운 열 추가

arr_with_new_col = np.hstack((arr, new_col.reshape(-1, 1)))

print(arr_with_new_col)

```

이 코드는 다음과 같은 출력 결과를 보여줍니다.

```

array([[1, 2, 3, 7],

[4, 5, 6, 8]])

```

위 코드에서는 np.hstack() 함수를 사용하여 원래 배열(arr)과 새로운 열(new_col)을 연결하고, 새로운 배열(arr_with_new_col)을 만듭니다. 이때, 새로운 열은 reshape() 함수를 사용하여 2x1 크기로 변환합니다. 이렇게 함으로써 np.hstack() 함수는 수평 방향으로 배열을 연결할 수 있습니다.

이외에도 NumPy 배열에 열을 추가하는 방법은 여러 가지가 있습니다. 예를 들어, np.column_stack() 함수를 사용할 수도 있습니다. 이 함수는 사용법은 np.hstack() 함수와 유사합니다. 그러나, 1차원 배열을 수직 방향으로 연결하여 2차원 배열을 만들 수도 있습니다.

이렇게 NumPy 배열에 열을 추가하는 방법은 다양합니다. 따라서 여러 가지 인터넷 자료를 참고하여 다양한 방법을 시도해 보시길 추천합니다.

반응형
Comments