Python中的 numpy.tile()
numpy.tile()函数通过重复数组 - 'arr' 来构造一个新数组,即我们想要重复的次数。结果数组将具有维度 max(arr.ndim, repeats) 其中,repetitions 是重复的长度。如果 arr.ndim > 重复次数,则通过在其前面添加 1 来将 reps 提升为 arr.ndim。如果 arr.ndim < 重复次数,则通过预先挂起新轴将 reps 提升为 arr.ndim。句法 :
numpy.tile(arr, repetitions)
参数 :
array : [array_like]Input array.
repetitions : No. of repetitions of arr along each axis.
返回 :
An array with repetitions of array - arr as per d, number of times we want to repeat arr
代码 1:
Python
# Python Program illustrating
# numpy.tile()
import numpy as geek
#Working on 1D
arr = geek.arange(5)
print("arr : \n", arr)
repetitions = 2
print("Repeating arr 2 times : \n", geek.tile(arr, repetitions))
repetitions = 3
print("\nRepeating arr 3 times : \n", geek.tile(arr, repetitions))
# [0 1 2 ..., 2 3 4] means [0 1 2 3 4 0 1 2 3 4 0 1 2 3 4]
# since it was long output, so it uses [ ... ]
Python
# Python Program illustrating
# numpy.tile()
import numpy as geek
arr = geek.arange(3)
print("arr : \n", arr)
a = 2
b = 2
repetitions = (a, b)
print("\nRepeating arr : \n", geek.tile(arr, repetitions))
print("arr Shape : \n", geek.tile(arr, repetitions).shape)
a = 3
b = 2
repetitions = (a, b)
print("\nRepeating arr : \n", geek.tile(arr, repetitions))
print("arr Shape : \n", geek.tile(arr, repetitions).shape)
a = 2
b = 3
repetitions = (a, b)
print("\nRepeating arr : \n", geek.tile(arr, repetitions))
print("arr Shape : \n", geek.tile(arr, repetitions).shape)
Python
# Python Program illustrating
# numpy.tile()
import numpy as geek
arr = geek.arange(4).reshape(2, 2)
print("arr : \n", arr)
a = 2
b = 1
repetitions = (a, b)
print("\nRepeating arr : \n", geek.tile(arr, repetitions))
print("arr Shape : \n", geek.tile(arr, repetitions).shape)
a = 3
b = 2
repetitions = (a, b)
print("\nRepeating arr : \n", geek.tile(arr, repetitions))
print("arr Shape : \n", geek.tile(arr, repetitions).shape)
a = 2
b = 3
repetitions = (a, b)
print("\nRepeating arr : \n", geek.tile(arr, repetitions))
print("arr Shape : \n", geek.tile(arr, repetitions).shape)
输出 :
arr :
[0 1 2 3 4]
Repeating arr 2 times :
[0 1 2 3 4 0 1 2 3 4]
Repeating arr 3 times :
[0 1 2 ..., 2 3 4]
代码 2:
Python
# Python Program illustrating
# numpy.tile()
import numpy as geek
arr = geek.arange(3)
print("arr : \n", arr)
a = 2
b = 2
repetitions = (a, b)
print("\nRepeating arr : \n", geek.tile(arr, repetitions))
print("arr Shape : \n", geek.tile(arr, repetitions).shape)
a = 3
b = 2
repetitions = (a, b)
print("\nRepeating arr : \n", geek.tile(arr, repetitions))
print("arr Shape : \n", geek.tile(arr, repetitions).shape)
a = 2
b = 3
repetitions = (a, b)
print("\nRepeating arr : \n", geek.tile(arr, repetitions))
print("arr Shape : \n", geek.tile(arr, repetitions).shape)
输出 :
arr :
[0 1 2]
Repeating arr :
[[0 1 2 0 1 2]
[0 1 2 0 1 2]]
arr Shape :
(2, 6)
Repeating arr :
[[0 1 2 0 1 2]
[0 1 2 0 1 2]
[0 1 2 0 1 2]]
arr Shape :
(3, 6)
Repeating arr :
[[0 1 2 ..., 0 1 2]
[0 1 2 ..., 0 1 2]]
arr Shape :
(2, 9)
代码 3:(重复 == arr.ndim)== 0
Python
# Python Program illustrating
# numpy.tile()
import numpy as geek
arr = geek.arange(4).reshape(2, 2)
print("arr : \n", arr)
a = 2
b = 1
repetitions = (a, b)
print("\nRepeating arr : \n", geek.tile(arr, repetitions))
print("arr Shape : \n", geek.tile(arr, repetitions).shape)
a = 3
b = 2
repetitions = (a, b)
print("\nRepeating arr : \n", geek.tile(arr, repetitions))
print("arr Shape : \n", geek.tile(arr, repetitions).shape)
a = 2
b = 3
repetitions = (a, b)
print("\nRepeating arr : \n", geek.tile(arr, repetitions))
print("arr Shape : \n", geek.tile(arr, repetitions).shape)
输出 :
arr :
[[0 1]
[2 3]]
Repeating arr :
[[0 1]
[2 3]
[0 1]
[2 3]]
arr Shape :
(4, 2)
Repeating arr :
[[0 1 0 1]
[2 3 2 3]
[0 1 0 1]
[2 3 2 3]
[0 1 0 1]
[2 3 2 3]]
arr Shape :
(6, 4)
Repeating arr :
[[0 1 0 1 0 1]
[2 3 2 3 2 3]
[0 1 0 1 0 1]
[2 3 2 3 2 3]]
arr Shape :
(4, 6)