📜  Python中的 numpy.tile()

📅  最后修改于: 2022-05-13 01:55:43.924000             🧑  作者: Mango

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)