>  기사  >  웹 프론트엔드  >  numpy 배열의 접합 방법 및 사용에 대한 심층적인 이해

numpy 배열의 접합 방법 및 사용에 대한 심층적인 이해

PHPz
PHPz원래의
2024-01-26 11:03:16516검색

numpy 배열의 접합 방법 및 사용에 대한 심층적인 이해

한 기사에서 numpy 배열 접합 방법과 응용 시나리오를 이해하세요.

개요:
데이터 처리 및 분석에서는 추가 처리 및 분석을 위해 여러 numpy 배열을 접합해야 하는 경우가 많습니다. numpy 라이브러리는 다양한 배열 접합 방법을 제공합니다. 이 기사에서는 numpy 배열 접합 방법과 해당 응용 프로그램 시나리오를 소개하고 특정 코드 예제를 제공합니다.

1. Numpy 배열 접합 방법:

  1. np.concatenate
    np.concatenate 함수는 지정된 축을 따라 두 개 이상의 배열을 접합하여 새 배열을 형성할 수 있습니다. 구문은 다음과 같습니다.
    np.concatenate((a1, a2, ...), axis=0, out=None)

그 중 a1, a2, ...: 접합해야 할 배열 ;
axis: 접합 축을 지정합니다. 기본값은 0입니다. 이는 첫 번째 축을 따라 접합하는 것을 의미합니다.
out: 접합 결과에 따른 배열 출력, 제공되지 않으면 새 배열이 생성되어 반환됩니다.

샘플 코드는 다음과 같습니다.
import numpy as np

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

c = np.concatenate((a, b), axis=0)
print(c)

출력 결과:

[[1 2]

[3 4]

[5 6]]

  1. np .vstack 및 np.row_stack
    np.vstack 함수는 두 개 이상의 배열을 수직(행)으로 쌓아 새로운 배열을 형성합니다. 구문은 다음과 같습니다:
    np.vstack(tup)

여기서, tup: 쌓아야 하는 배열 튜플입니다.

np.row_stack 함수는 np.vstack 함수와 동일한 기능을 가지고 있습니다.

샘플 코드는 다음과 같습니다.
import numpy as np

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

c = np .vstack( (a, b))
print(c)

출력 결과:

[[1 2 3]

[4 5 6]]

  1. np.hstack 및 np.column_stack
    np.hstack 함수 두 개를 결합하거나 여러 배열을 수평(열)으로 쌓아 새로운 배열을 형성합니다. 구문은 다음과 같습니다:
    np.hstack(tup)

여기서, tup: 쌓아야 하는 배열 튜플입니다.

np.column_stack 함수는 np.hstack 함수와 동일한 기능을 가지고 있지만 1차원 배열을 처리할 수 있습니다.

샘플 코드는 다음과 같습니다.
import numpy as np

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

c = np .hstack( (a, b))
print(c)

출력 결과:

[1 2 3 4 5 6]

  1. np.dstack
    np.dstack 함수는 두 개 이상의 배열을 깊이 방향으로 나눕니다( Z축을 따라)을 함께 쌓아 새로운 배열을 형성합니다. 구문은 다음과 같습니다:
    np.dstack(tup)

여기서, tup: 쌓아야 하는 배열 튜플입니다.

샘플 코드는 다음과 같습니다.
import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])

c = np.dstack((a, b))
print(c)

출력 결과:

[[[1 5]

[2 6]]

[[ 3 7]

[4 8]]]

2. 응용 시나리오

  1. 데이터 병합
    여러 배열을 특정 규칙에 따라 병합하여 큰 배열을 형성해야 하는 경우 numpy splicing 방법을 사용할 수 있습니다. 예를 들어, 기계 학습에서는 학습 세트와 테스트 세트가 분리되어 있는 경우가 많으며 이를 단일 데이터 세트로 병합해야 합니다.

샘플 코드는 다음과 같습니다.
import numpy as np

training set이 변수 train_data에 로드되었고 모양은 (m, n1)이라고 가정합니다.

테스트 세트가 train_data에 로드되었다고 가정합니다. 변수 test_data, 모양은 (k, n1)입니다.

훈련 세트와 테스트 세트를 하나의 데이터 세트로 병합

data = np.concatenate((train_data, test_data), axis=0)
print(data.shape )

  1. Data Augmentation
    딥 러닝에서 훈련 샘플의 데이터 증대는 모델의 일반화 능력을 향상시키는 일반적인 방법입니다. numpy의 접합 방법을 사용하여 샘플의 여러 증가 샘플을 결합할 수 있습니다.

샘플 코드는 다음과 같습니다.
import numpy as np

샘플이 변수 샘플에 로드되었고 모양이 (n, m)이라고 가정합니다.

샘플의 가로 뒤집기 확장을 수행합니다

flipped_sample = np.fliplr(sample)

증강된 샘플 병합

augmented_sample = np.hstack((sample, Flipped_sample))
print(augmented_sample.shape)

요약:
이 글에서는 numpy 배열의 스플라이싱 방법과 그 내용을 소개합니다. 응용 시나리오. numpy의 접합 방법을 사용하면 데이터 처리 및 분석을 위해 여러 배열을 병합할 수 있습니다. 접합 방법에는 np.concatenate, np.vstack, np.row_stack, np.hstack, np.column_stack 및 np.dstack이 포함됩니다. 특정 요구 사항에 따라 적절한 방법을 선택할 수 있습니다. 이러한 방법은 데이터 병합 및 데이터 확대와 같은 애플리케이션 시나리오에서 매우 일반적이며 데이터를 더 잘 처리하고 분석하는 데 도움이 될 수 있습니다.

위 내용은 numpy 배열의 접합 방법 및 사용에 대한 심층적인 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.