python对数组进行padding
2021/11/1 9:40:09
本文主要是介绍python对数组进行padding,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 概述
- 一维数组填充
- 二维数组填充
- 三维数组填充
- 此外
概述
numpy.pad(array,pad_width,mode,**kwargs)
可以将数组array按指定的方法填充成指定的形状。
其中:
array
:表示N维数组
pad_width
:每个轴边缘填充的数值。
mode
:表示填充方法。
constant
:常数填充,constant_values=(x,y)表示前面用x填充,后面用y填充,无constant_values参数时默认填充0
一维数组填充
import numpy as np array_one = np.array([1,2,3,4,5]) #(1,3):在该数组前面填充1位,后面填充3位; extend_one1 = np.pad(array_one, (1,3)) print(extend_one1) # constant_values=(9,8) 表示前面填充9,后面填充8 extend_one2 = np.pad(array_one, (1,3),'constant', constant_values=(9,8)) print(extend_one2)
结果
二维数组填充
import numpy as np array_two = np.array([[1,1,1],[2,2,2],[3,3,3]]) """ ((1,1),(2,2))表示在二维数组array第一维(此处便是行)前面填充1行,最后面填充1行; 在二维数组array第二维(此处便是列)前面填充2列,最后面填充2列 constant_values=(0,4) 表示第一维填充0,第二维填充4 """ extend_two = np.pad(array_two,((1,1),(2,2)),'constant', constant_values=(0,4)) print(array_two) print(extend_two)
结果
三维数组填充
import numpy as np array_three = np.ones((5,5,3)) #新建三维数组,且初始值为1 print(array_three) extend_three = np.pad(array_three, (1,1), 'constant',constant_values=(5,9)) print(extend_three.shape) print(extend_three)
结果
(7, 7, 5)
[[[5. 5. 5. 5. 9.]
[5. 5. 5. 5. 9.]
[5. 5. 5. 5. 9.]
[5. 5. 5. 5. 9.]
[5. 5. 5. 5. 9.]
[5. 5. 5. 5. 9.]
[5. 9. 9. 9. 9.]]
[[5. 5. 5. 5. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 9. 9. 9. 9.]]
[[5. 5. 5. 5. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 9. 9. 9. 9.]]
[[5. 5. 5. 5. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 9. 9. 9. 9.]]
[[5. 5. 5. 5. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 9. 9. 9. 9.]]
[[5. 5. 5. 5. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 1. 1. 1. 9.]
[5. 9. 9. 9. 9.]]
[[5. 5. 5. 5. 9.]
[5. 9. 9. 9. 9.]
[5. 9. 9. 9. 9.]
[5. 9. 9. 9. 9.]
[5. 9. 9. 9. 9.]
[5. 9. 9. 9. 9.]
[5. 9. 9. 9. 9.]]]
此外
‘edge’:边缘值填充,即使用数组array的边缘数值进行填充。
np.pad(array_three, (1,1), 'edge')
‘linear_ramp’:按照边缘递减的方式进行填充,end_values=(x,y)表示前面的第一个数值是x,前面的其他数值比x小,比array原来第一个数值要大,数组最后面填充的数值是y,y前面填充的数值比y大,比array最后一个数值要小。没有end_values时候默认填充0.
np.pad(array_three, (1,1), 'linear_ramp')
参考链接
这篇关于python对数组进行padding的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-30Python中''') 是什么?-icode9专业技术文章分享
- 2024-11-26Python基础编程
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程