Python Numpy.pad 関数

Manav Narula 2023年1月3日
Python Numpy.pad 関数

Python には、配列を作成して操作するための NumPy モジュールがあります。配列は、さまざまなサイズと次元にすることができます。パディングは、配列のサイズを補正するために利用できる便利な方法です。配列を変更し、いくつかの埋め込み値を追加して、その形状とサイズを変更できます。

配列の形状を変更する他の方法もあります。それでも、この関数は、使用後に配列のメモリのサイズを自動的に変更するため、有益です。

numpy.pad() 関数はこれを実現するために使用されます。次のコードは、この関数の例を示しています。

import numpy as np

a = [1, 2, 3, 4]
b = np.pad(a, (3, 2), mode="constant", constant_values=(0, 5))
print(b)

出力:

[0 0 0 1 2 3 4 5 5]

上記の例では、最初の引数 (3,2) タプルは、軸の前に 3つの要素が追加され、軸の最後に 2つの要素が追加されることを指定します。

mode パラメーターは、配列のパディングに使用される値のタイプを指定します。このコードでは、定数値 0 と 5 を使用して配列をパディングしますが、このモードを medianaverageemptywrap などのさまざまなタイプに変更できます。各モードは、配列をパディングするためのさまざまな要素を提供します。

この関数は、多次元配列でも使用できます。例えば、

import numpy as np

a = 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]]
)
b = np.pad(a, [(0, 1), (0, 1)], mode="constant")
print(b)

出力:

[[1. 1. 1. 1. 1. 0.]
 [1. 1. 1. 1. 1. 0.]
 [1. 1. 1. 1. 1. 0.]
 [0. 0. 0. 0. 0. 0.]]
注意
2 次元配列には 2つのタプルを指定する必要があり、関数のデフォルトの定数値は 0 です。
著者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn