numpy.pad使用详解

numpy中pad的用法

在机器学习中经常用到pad进行数据的预处理,对原本的矩阵进行填充,具体用法如下:
numpy.pad(array, pad_width, mode='constant', **kwargs)
array为待填充的矩阵
pad_width为要填充的位置(行,列),一会用实例进行说明
mode为填充方式: 有以下几种方式:
constant:用常数填充,可用constant_values=(4, 6)设置,4代表前面填充,6代表后面填充
edge:用边缘填充
linear_ramp:边缘递减,即取得是递减到0时的数
eg:
a=np.array([1,5,7,9,6]) a=np.pad(a,(0,3),'linear_ramp') print(a)
结果如下:
[1 5 7 9 6 4 2 0]
修改为在后方填充6位:
a=np.array([1,5,7,9,6]) a=np.pad(a,(0,6),'linear_ramp') print(a)
结果为:
[1 5 7 9 6 5 4 3 2 1 0]

maximum:选取最大的进行填充,注意二维是先进行选择最大填充行,再选择最大填充列
mean:均值
median:中位数
minimum:最小值
reflect:关于边缘值对称
symmetric:关于边缘附近的空对称
wrap:用数组前面的填充后面,后面的填充前面,填充方式是从中间向两边填充

import numpy as np
a=np.array([[6,7,4],
          [6,5,3]])
print(a)
a=np.pad(a,((1,2),(2,2)),'wrap')
print(a)

结果为:
[5 3 6 5 3 6 5
7 4 6 7 4 6 7
5 3 6 5 3 6 5
7 4 6 7 4 6 7
5 3 6 5 3 6 5]
相关练习题:
对于一个存在在数组,如何添加一个用0填充的边界?

你可能感兴趣的:(2020启航,python,numpy)