numpy重复数据

2022-09-25 11:58:32

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函数是对数组中的每个元素进行重复操作。

  • 作者:馋学习的身子
  • 原文链接:https://freeline.blog.csdn.net/article/details/123278965
    更新时间:2022-09-25 11:58:32