[关闭]
@breky 2018-10-19T07:04:04.000000Z 字数 671 阅读 159

Python 学习笔记

Python


  1. np.pad, 数组填充
  1. arr = np.arange(1, 4)
  2. arr = arr.reshape(2, 2)
  3. print("arr = \n {}".format(arr))
  4. newArr = np.pad(arr, ((2, 2), (3, 3)), 'constant')
  5. print("newArr = \n {}".format(newArr))
  1. # 输出结果
  2. arr =
  3. [[1, 2],
  4. [3, 4]]
  5. newArr =
  6. [[0, 0, 0, 0, 0, 0, 0, 0],
  7. [0, 0, 0, 0, 0, 0, 0, 0],
  8. [0, 0, 0, 1, 2, 0, 0, 0],
  9. [0, 0 ,0 ,3, 4, 0, 0, 0],
  10. [0, 0, 0, 0, 0, 0, 0, 0],
  11. [0, 0, 0, 0, 0, 0, 0, 0]]

注:
函数参数,
np.pad(原数组, ((原数组前填充的行数, 原数组后填充的行数),(原数组前填充的列数, 原数组后填充的列数)), 填充方式, 填充数值)

轴,
0轴指行,1轴指列

特殊情况(只填充一个轴,例如只填充行)
(第二个参数,需要填充的轴上写数值,不需要填充的轴上写0)
下列代码中,第二行中的 ((2, 2),(0, 0)) 指在原数组 0 轴上前后各填加 2 行,1 轴上不进行填充。

  1. # 接上例
  2. newArrRow = np.pad(arr, ((2, 2),(0, 0)), 'constant')
  3. # constant: 填充方式
  4. # 填充数值为默认值时,可以省略。此处以默认值填充,默认值为 0
  5. print("newArrRow = \n {}".format(newArr))
  1. #输出结果
  2. newArrRow =
  3. [[0, 0]
  4. [0, 0]
  5. [1, 2]
  6. [3, 4]
  7. [0, 0]
  8. [0, 0]]
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注