numpy.tile 函数用于沿指定的轴重复数组,以创建一个新的数组。它可以用于扩展数组的维度或进行重复模式的构建。numpy.tile 可用于扩展较小的数据结构,使其匹配更大数据的形状。可以用于生成规则的重复数据模式,例如图像处理、模拟数据生成等。本文主要介绍一下NumPy中tile方法的使用。

numpy.tile

numpy.tile(A, reps)      [source]

通过重复A代表次数来构造数组。

如果代表的长度为d,则结果的尺寸为max(d,A.ndim)

如果A.ndim < d,则通过附加新的轴将A提升为d维。因此,对于2d复制,shape(3,)数组提升为(1,3),对于3d复制,shape(1,1,3)数组提升为(1,1,3)。如果这不是需要的行为,在调用这个函数之前,手动将A提升到d维。

如果A.ndim > d,则通过预先设置1将代表提升为A.ndim。因此,对于形状(2,3,4,5)的A,(2,2)的一个代表被视为(1,1,2,2)

注意:尽管tile可以用于广播,强烈建议使用numpy的广播操作和功能。

参数 :

A :array_like

输入数组。

reps :array_like

沿每个轴的A重复次数。

返回值 :

cndarray

平铺的输出数组。

例子

1)一维数组重复

import numpy as np

arr = np.array([1, 2, 3])
result = np.tile(arr, 3)  # 沿第 1 轴(水平)重复 3 次
print(result)

2)二维数组重复

import numpy as np

arr = np.array([[1, 2], [3, 4]])
# 行方向重复 2 次,列方向重复 3 次
result = np.tile(arr, (2, 3))  
print(result)

3)与 numpy.repeat 的区别

numpy.tile 是整体重复,而 numpy.repeat 是元素级别的重复。

import numpy as np

arr = np.array([[1, 2], [3, 4]])

# 使用 tile
print(np.tile(arr, (2, 2)))

# 使用 repeat
# 在行方向重复每一行 2 次
print(np.repeat(arr, 2, axis=0))  

推荐文档

相关文档

大家感兴趣的内容

随机列表