numpy. tile 和 numpy.repeat

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

原文出处:/show_1EF5cFF5oCu7.html