@breky
2018-10-19T07:04:04.000000Z
字数 671
阅读 159
Python
arr = np.arange(1, 4)arr = arr.reshape(2, 2)print("arr = \n {}".format(arr))newArr = np.pad(arr, ((2, 2), (3, 3)), 'constant')print("newArr = \n {}".format(newArr))
# 输出结果arr =[[1, 2],[3, 4]]newArr =[[0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 1, 2, 0, 0, 0],[0, 0 ,0 ,3, 4, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0]]
注:
函数参数,
np.pad(原数组, ((原数组前填充的行数, 原数组后填充的行数),(原数组前填充的列数, 原数组后填充的列数)), 填充方式, 填充数值)
轴,
0轴指行,1轴指列
特殊情况(只填充一个轴,例如只填充行)
(第二个参数,需要填充的轴上写数值,不需要填充的轴上写0)
下列代码中,第二行中的 ((2, 2),(0, 0)) 指在原数组 0 轴上前后各填加 2 行,1 轴上不进行填充。
# 接上例newArrRow = np.pad(arr, ((2, 2),(0, 0)), 'constant')# constant: 填充方式# 填充数值为默认值时,可以省略。此处以默认值填充,默认值为 0print("newArrRow = \n {}".format(newArr))
#输出结果newArrRow =[[0, 0][0, 0][1, 2][3, 4][0, 0][0, 0]]