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 填充陣列,但是我們可以將此模式更改為 medianmeanemptywrap 等不同型別。每種模式都提供不同的元素來填充陣列。

我們也可以將此函式與多維陣列一起使用。例如,

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.]]
注意
我們必須為二維陣列指定兩個元組,並且該函式的預設常數值為 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