numpy. tile 和 numpy.repeat 作者:马育民 • 2020-05-30 11:05 • 阅读:10075 # numpy.tile 对整个数组进行复制拼接 ### 语法 ``` numpy.tile(a, reps) ``` ##### 参数: - a:数组 - reps:重复的次数 ### 例子:一维数组 ``` import numpy as np a = np.arange(10) a2=np.tile(a,2) print(a) print(a2) ``` 执行结果: ``` [0 1 2 3 4 5 6 7 8 9] [0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9] ``` ### 例子:二维数组 ``` a=np.array([10,20]) a2=np.tile(a, (3,2)) #构造3*2个copy print(a) print(a2) ``` 执行结果: ``` [10 20] [[10 20 10 20] [10 20 10 20] [10 20 10 20]] ``` # numpy.repeat 对数组中的元素进行连续重复复制 ### 语法一: ``` numpy.repeat(a, repeats, axis=None) ``` ##### 参数: - a:数组 - repeats:重复的次数 - axis:表示数组维度 ### 语法二: ``` a.repeats(repeats, axis=None) ``` ##### 参数: - a:数组 - repeats:重复的次数 - axis:表示数组维度 ### 例子:一维数组 ``` import numpy as np a = np.arange(5) a2=a.repeat(3) print(a) print(a2) ``` 执行结果: ``` [0 1 2 3 4] [0 0 0 1 1 1 2 2 2 3 3 3 4 4 4] ``` ### 例子2:复制参数是数组 ``` a=np.array([10,20]) a2=a.repeat([3,2]) print(a) print(a2) ``` 执行结果: ``` [10 20] [10 10 10 20 20] ``` ### 例子3:二维数组按照0轴复制 ``` a=np.array([[10,20],[30,40]]) a2=a.repeat([3,2],axis=0) print(a) print("-----") print(a2) ``` 执行结果: ``` [[10 20] [30 40]] ----- [[10 20] [10 20] [10 20] [30 40] [30 40]] ``` ### 例子3:二维数组按照1轴复制 ``` a=np.array([[10,20],[30,40]]) a2=a.repeat([3,2],axis=1) print(a) print("-----") print(a2) ``` 执行结果: ``` [[10 20] [30 40]] ----- [[10 10 10 20 20] [30 30 30 40 40]] ``` 原文出处:http://www.malaoshi.top/show_1EF5cFF5oCu7.html