numpy中主要使用tile函数和repeat函数实现数据重复
tile函数
tile函数的定义如下:
deftile(A, reps)
该函数主要有两个参数,参数A指定重复的数组,参数reps之订重复的次数。
注意:如果reps的长度为d,则最后重复后的数组的维度为max(d, A.ndim),即取d与A的维度的最大值。如果A.ndim < d,则通过添加新轴使A变为d维。例如对于shape为(3,)通过2维重复shape变为(1,3),通过3维的重复shape变为(1,1,3)。
例子:
repeat函数
函数的定义如下:
repeat(a, repeats, axis=None):
repeat函数主要有3个参数,参数a指定需要重复的数组元素,参数repeats指定重复次数,参数axis指定沿着哪个轴进行重复。
- axis=None,时候就会flatten当前矩阵,实际上就是变成了一个行向量
- axis=0,沿着y轴复制,实际上增加了行数
- axis=1,沿着x轴复制,实际上增加列数
>>> np.repeat(x,3, axis=0)
array([[1,2],[1,2],[1,2],[3,4],[3,4],[3,4]])
总结:
这两个函数的主要区别在于:tile函数是对数组进行重复操作,repeat函数是对数组中的每个元素进行重复操作。