1. 程式人生 > >numpy中的tile函式

numpy中的tile函式

最近在機器學習實戰中學習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]])
自己的理解:先進行列重複,再整體進行重複