파이썬 배열 합치기

  • by

Numpy 라이브러리는 리스트를 입력으로 받아서 Numpy 객체를 만들 수 있도록 해줍니다.

import numpy as np

array = np.array([1, 2, 3])

print(array.size) # 배열의 크기
print(array.dtype) # 배열 원소의 타입
print(array[2]) # 인덱스 2의 원소

※ Numpy로 배열 만들기 ※

  Numpy에서 배열을 순식간에 생성하기 위해서는 arange() 함수를 사용할 수 있습니다. arange() 함수를 이용하면 0부터 특정 인덱스까지의 배열을 생성할 수 있습니다.

import numpy as np

array1 = np.arange(4)
print(array1[3])

※ Numpy 배열 합치기 ※

  concatenate() 함수를 이용하면 여러 배열을 하나로 합칠 수 있습니다.

import numpy as np

array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
array3 = np.concatenate([array1, array2])

print(array3.shape)

※ Numpy 다양한 형태의 배열 만들기 ※

import numpy as np

array1 = np.zeros((4, 4), dtype=float)
array2 = np.ones((3, 3), dtype=str)
array3 = np.random.randint(0, 10, (3, 3))
# 평균이 0이고 표준편차가 1인 표준 정규를 띄는 값
array4 = np.random.normal(0, 1, (3, 3))
print(array1)
print(array2)
print(array3)
print(array4)

※ Numpy 배열의 형태 바꾸기 ※

  reshape() 함수를 이용하면, 기존 배열의 형태를 바꿀 수 있습니다. 예를 들어서 1차원 배열을 2차원 배열로 바꿀 수 있습니다.

import numpy as np

array1 = np.array([1, 2, 3, 4])
array2 = array1.reshape((2, 2))

print(array2.shape)

※ Numpy 배열을 세로 축으로 합치기 ※

  Numpy 배열은 세로 축으로 합칠 수도 있습니다. 기본적으로 축 값(Axis)이 0이라면 세로 축이고, 1이라면 가로 축입니다.

import numpy as np

array1 = np.arange(4).reshape(1, 4)
array2 = np.arange(8).reshape(2, 4)

array3 = np.concatenate([array1, array2], axis=0)
print(array3.shape)

※ Numpy 배열을 나누기 ※

  Numpy 배열을 나눌 때에는 split() 함수를 사용하며 이는 concatenate() 함수와 흡사하게 동작합니다. 2 X 4 배열을 왼쪽과 오른쪽으로 이등분하는 소스코드는 다음과 같습니다.

import numpy as np

array = np.arange(8).reshape(2, 4)
left, right = np.split(array, [2], axis=1)
print(left.shape)
print(right.shape)
print(right[1][1])

댓글 남기기