numpy 패딩

Vaibhhav Khetarpal 2023년1월30일
  1. NumPy.pad() 함수를 사용하여 Python에서 NumPy 배열 채우기
  2. shape() 함수를 사용하여 Python에서 NumPy 배열 채우기
numpy 패딩

Python은 배열을 직접 사용하는 것을 허용하지 않습니다. 여기에서 NumPy 라이브러리가 등장하여 Python에서 배열을 처리하고 조작할 수 있습니다.

배열은 지정된 크기와 차원이 될 수 있습니다. 때로는 특정 배열의 크기를 보정해야 하는 경우가 있는데, 이때 패딩이 유용합니다.

간단히 말해서 패딩은 배열에 대해 말할 때 정보가 없는 값(일반적으로 0)을 행이나 열에 추가하는 것을 의미합니다. 배열이나 행렬이 부족한 행이나 열의 수를 보정하는 데 널리 사용됩니다.

이 튜토리얼은 파이썬에서 NumPy 배열을 채우는 방법을 보여줍니다. 예를 들어, 이 튜토리얼에서는 주어진 NumPy 배열을 0으로 채울 것입니다.

NumPy.pad() 함수를 사용하여 Python에서 NumPy 배열 채우기

이름에서 알 수 있듯이 NumPy.pad() 함수는 NumPy 배열에서 패딩 작업을 수행하는 데 사용됩니다.

NumPy.pad() 함수의 구문은 다음과 같습니다.

numpy.pad(array, pad_width, mode="constant", **kwargs)

NumPy.pad() 함수의 모든 매개변수는 독자의 이해를 돕기 위해 아래에 정의되어 있습니다.

  1. array - 매개변수는 채워야 하는 배열을 지정합니다.

  2. pad_width - 모든 축의 가장자리에 추가할 값의 수를 지정합니다. 튜플은 다차원 배열의 너비를 지정하는 데 사용됩니다.

  3. mode - 선택적 매개변수는 어레이의 모드를 지정합니다.

  4. **kwargs - 함수 내에서 인수의 가변 키워드 길이를 전달할 수 있습니다. 언급하는 것은 선택 사항이며 온라인에서 자세한 내용을 읽을 수 있습니다.

    이 기사의 예에서는 이 인수를 사용하지 않습니다.

여기에서는 다차원 배열의 예를 들어보겠습니다. 그러나 코드를 약간 수정하면 1차원 배열에서도 동일한 작업을 수행할 수 있습니다.

다음 코드는 NumPy.pad() 함수를 사용하여 Python에서 NumPy 배열을 채웁니다.

import numpy as np

x = np.array([[1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0]])
y = np.pad(x, [(0, 1), (0, 1)], mode="constant")
print(y)

위의 코드는 다음 출력을 제공합니다.

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

여기에서 다차원 배열에 패딩 작업을 수행하여 차원을 지정된 크기로 확장합니다.

shape() 함수를 사용하여 Python에서 NumPy 배열 채우기

이것은 NumPy.pad() 함수와 동일한 결과를 얻을 수 있는 간접적인 방법이기도 합니다. shape() 함수는 NumPy 라이브러리에 포함된 또 다른 함수이며 이 라이브러리를 코드로 가져온 후 액세스할 수 있습니다.

shape 함수는 주어진 배열이나 행렬의 차원을 결정하는 데 사용됩니다.

이 방법은 사용자의 필요에 따라 원하는 차원의 새로운 null 행렬을 생성한 다음 새로 생성된 null 행렬에 원래 행렬을 삽입하기 때문에 약간 늘어납니다. 동일한 결과를 얻지만 결과에 도달하기 위해 여정에서 다른 간접적인 경로를 취합니다.

shape() 함수와는 별도로 이 접근 방식은 NumPy.zeros() 메서드를 사용하여 null 행렬을 생성합니다.

이 접근 방식의 경우 먼저 null 행렬을 만드는 데 필요한 최종 차원의 참조를 취하기 때문에 차원이 패딩 후 사용자의 대상 차원의 요구를 충족하는 참조 행렬이 필요합니다.

다음 코드는 shape() 함수를 사용하여 Python에서 NumPy 배열을 채웁니다.

import numpy as np

x = np.array([[1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0]])
y = np.array(
    [
        [1.0, 1.0, 1.0, 1.0, 1.0],
        [1.0, 1.0, 1.0, 1.0, 1.0],
        [1.0, 1.0, 1.0, 1.0, 1.0],
        [1.0, 1.0, 1.0, 1.0, 1.0],
    ]
)
z = np.zeros(np.shape(y))
z[: x.shape[0], : x.shape[1]] = x
print(z)

위의 코드는 다음 출력을 제공합니다.

[[1. 1. 1. 1. 0.]
 [1. 1. 1. 1. 0.]
 [1. 1. 1. 1. 0.]
 [0. 0. 0. 0. 0.]]
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn