版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40244153/article/details/79713126
最近在机器学习实战中学习knn分类算法的过程中用到了tile函数,在此记录下来此函数的用法。
函数原型:numpy.tile(A,reps) #简单理解是此函数将A进行重复输出
其中A和reps都是array_like的参数,A可以是:array,list,tuple,dict,matrix以及基本数据类型int,string,float以及bool类型,reps的类型可以是tuple,list,dict,array,int,bool,但不可以是float,string,matrix类型。
计较常用的形式有两种,是将A简单进行一维重复输出,和将A进行二维重复后输出。
A为一维数组
>>> import numpy
>>> numpy.tile([0,0],5)#在列方向上重复[0,0]5次,默认行1次 一维
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
>>> numpy.tile([0,0],(1,1))#在列方向上重复[0,0]1次,行1次 二维
array([[0, 0]])
>>> numpy.tile([0,0],(2,1))#在列方向上重复[0,0]1次,行2次 二维
array([[0, 0],
[0, 0]])
>>> numpy.tile([0,0],(1,3))#在列方向上重复[0,0]3次,行1次 二维
array([[0, 0, 0, 0, 0, 0]])
>>> numpy.tile([0,0],(2,3))#在列方向上重复[0,0]3次,行2次 二维
array([[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0]])
A为二维数组
>>> numpy.tile([[1,2,3],[4,5,5]],3) #一维
array([[1, 2, 3, 1, 2, 3, 1, 2, 3],
[4, 5, 5, 4, 5, 5, 4, 5, 5]])
>>> numpy.tile([[1,2,3],[4,5,5]],[2,3]) #二维
array([[1, 2, 3, 1, 2, 3, 1, 2, 3],
[4, 5, 5, 4, 5, 5, 4, 5, 5],
[1, 2, 3, 1, 2, 3, 1, 2, 3],
[4, 5, 5, 4, 5, 5, 4, 5, 5]])
自己的理解:先进行列重复,再整体进行重复