一、參數解釋
ndarray = numpy.pad(array, pad_width, mode, **kwargs)
array爲要填補的數組
pad_width是在各維度的各個方向上想要填補的長度,如((1,2),(2,2)),表示在第一個維度上水平方向上padding=1,垂直方向上padding=2,在第二個維度上水平方向上padding=2,垂直方向上padding=2。如果直接輸入一個整數,則說明各個維度和各個方向所填補的長度都一樣。
mode爲填補類型,即怎樣去填補,有“constant”,“edge”等模式,如果爲constant模式,就得指定填補的值,如果不指定,則默認填充0。
剩下的都是一些可選參數,具體可查看
pad函數詳解文檔
ndarray爲填充好的返回值。
二、例子
1、對一維數組填充
【code】
import numpy as np
array = np.array([1, 1, 1])
#(1,2)表示在一維數組array前面填充1位,最後面填充2位
#constant_values=(0,2) 表示前面填充0,後面填充2
ndarray=np.pad(array,(1,2),'constant', constant_values=(0,2))
print("array",array)
print("ndarray=",ndarray)
【result】
array [1 1 1]
ndarray= [0 1 1 1 2 2]
2、對二維數組填充
【code】
import numpy as np
array = np.array([[1, 1],[2,2]])
"""
((1,1),(2,2))表示在二維數組array第一維(此處便是行)前面填充1行,最後面填充1行;
在二維數組array第二維(此處便是列)前面填充2列,最後面填充2列
constant_values=(0,3) 表示第一維填充0,第二維填充3
"""
ndarray=np.pad(array,((1,1),(2,2)),'constant', constant_values=(0,3))
print("array",array)
print("ndarray=",ndarray)
【result】
array [[1 1]
[2 2]]
ndarray= [[0 0 0 0 3 3]
[0 0 1 1 3 3]
[0 0 2 2 3 3]
[0 0 3 3 3 3]]
3、對三維數組填充,格式與上面一致,只是對應的pad_width也要再增加一個元組,例如
((1,1),(1,2),(2,2))
注意,在三維數組中,如果只想在行列上進行,則只要將pad_width中的第三個元組設爲(0,0)即可。
參考:
numpy中pad函數的常用方法