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]]