Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

NumPy 연결:가이드

NumPy 배열을 연결하는 방법

NumPy는 Python에서 배열 작업을 위한 훌륭한 라이브러리입니다. 모든 크기의 배열 생성에서 조작에 이르기까지 모든 것을 다룹니다. NumPy가 배열을 연결하는 데 사용할 수 있는 유틸리티와 함께 ​​제공된다는 것은 놀라운 일이 아닙니다.

numpy.concatenate() 메서드는 두 개 이상의 배열을 단일 배열로 결합합니다.

이 가이드에서는 NumPy 배열이 무엇이고 어떻게 연결할 수 있는지에 대해 이야기할 것입니다. 시작하는 데 도움이 되는 몇 가지 예를 살펴보겠습니다. 시작하겠습니다!

배열의 구조

NumPy 배열은 NumPy 라이브러리와 함께 작동하는 배열 유형입니다. 다른 배열처럼 보이지만 ndarray 객체 내부에 저장됩니다.

array([1, 2, 3])

NumPy 배열로 작업하려면 numpy 라이브러리를 가져와야 합니다.

import numpy as np

우리는 두 개의 배열을 연결할 것입니다. 하나의 배열에는 1에서 9(포함) 사이의 모든 숫자가 포함됩니다. 두 번째 배열에는 10에서 18(포함) 사이의 모든 숫자가 포함됩니다.

arange()를 사용하여 이러한 배열을 생성해 보겠습니다. 방법:

first_array = np.arange(1, 10).reshape(3, 3)
second_array = np.arange(10, 19).reshape(3, 3)

print(first_array)
print(second_array)

이 코드는 두 개의 배열을 만듭니다. 각 배열은 2차원 배열입니다. reshape()를 사용하여 이러한 배열을 2d로 만들었습니다. 각 배열에 대해 3×3 그리드를 생성하는 방법:

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

[[1 2 3]
 [4 5 6]
 [7 8 9]]
[[10 11 12]
 [13 14 15]
 [16 17 18]]

이제 작업할 수 있는 두 개의 어레이가 있습니다! concatenate()를 사용하여 연결해 보겠습니다. .

넘파이 연결

행 또는 열을 기준으로 두 축의 배열을 연결할 수 있습니다. 이것은 concatenate()를 사용하여 수행됩니다. 방법. 연결 방법은 1d, 2d, 3d, 4d 및 더 많은 차원의 배열을 병합할 수 있습니다.

행으로 연결

행별로 두 배열을 연결하는 것으로 시작하겠습니다. 이렇게 하면 두 배열의 항목을 행별로 정렬하고 하나의 배열로 병합합니다.

final_array = np.concatenate((first_array, second_array))
print(final_array)

concatenate() 내부에 튜플을 지정했습니다. 함수. 이 튜플에는 연결하려는 배열 목록이 포함되어 있습니다. 매개변수 없이 concatenate() 행별로 연결합니다.

코드는 다음을 반환합니다.

[[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]
 [13 14 15]
 [16 17 18]]

배열은 행으로 연결됩니다.

열로 연결

연결 방법을 사용하여 열별로 두 배열을 병합할 수 있습니다.

이를 위해 새로운 매개변수인 axis를 도입해야 합니다. 기본적으로 이 값은 0입니다. 이것은 x축 또는 행 축에 해당합니다. 이 값을 재정의하고 1로 설정할 수 있습니다. 그러면 두 배열이 열별로 병합됩니다.

열을 기준으로 두 배열을 연결해 보겠습니다.

final_array = np.concatenate((first_array, second_array), axis=1)
print(final_array)

우리의 코드는 마지막 예제와 거의 동일합니다. 차이점은 axis=1 매개변수를 지정했다는 것입니다. 코드를 실행할 때 어떤 일이 발생하는지 봅시다:

[[ 1  2  3 10 11 12]
 [ 4  5  6 13 14 15]
 [ 7  8  9 16 17 18]]

배열은 열별로 병합됩니다.

2개 이상의 배열 연결

concatenate() 메소드는 임의의 수의 배열을 연결할 수 있습니다. 가로 축에 세 개의 배열을 연결해 보겠습니다. 우리가 작업할 배열에는 다음 범위의 모든 숫자가 포함됩니다.

  • 1~9(포함).
  • 10~18(포함).
  • 19-27(포함).

Python에서 배열을 정의해 보겠습니다.

first_array = np.arange(1, 10).reshape(3, 3)
second_array = np.arange(10, 19).reshape(3, 3)
third_array = np.arange(19, 28).reshape(3, 3)

다음으로 연결을 사용하여 함께 병합할 수 있습니다.

final_array = np.concatenate((first_array, second_array, third_array), axis=1)
print(final_array)

concatenate()에서 세 개의 배열을 튜플로 지정했습니다. 방법. 이 배열을 결합하면 1에서 27 사이의 모든 숫자에 해당합니다.

프로그램을 실행해 보겠습니다.

[[ 1  2  3 10 11 12 19 20 21]
 [ 4  5  6 13 14 15 22 23 24]
 [ 7  8  9 16 17 18 25 26 27]]

이제 세 개의 배열이 "final_array" 변수에 할당되었습니다. 배열이 성공적으로 병합되었음을 보여주기 위해 이 변수를 콘솔에 인쇄했습니다.

결론

NumPy concatenate() 메소드는 둘 이상의 NumPy 배열을 결합합니다. 배열은 기본적으로 세로 축에 결합됩니다. axis=1 플래그를 사용하여 수평 접근에서 배열을 결합할 수 있습니다.

vstack 및 hstack 메서드를 사용하여 둘 이상의 1d 배열을 연결할 수 있습니다. concatenate() 이러한 방법보다 효율적입니다. concatenate() 2d, 3d 및 더 높은 차원의 배열 연결도 지원합니다.

이제 Python 전문가처럼 NumPy 배열을 연결할 준비가 되었습니다!