Numpy中的tile函数用法

0、引言

 在看机器学习实战这本书时,遇到numpy.tile(A,B)函数,开始没太明白这个函数用法,网上帖子也不太详细,通过一番试验后基本搞明白基本用法,分享给你们。机器学习

一、函数定义

tile函数是模板numpy.lib.shape_base中的函数。
函数

函数形式:tile(A,rep) 
功能:重复A的各个维度 
参数类型: 
- A:
Array类的均可以 
- rep:
A沿着各个维度重复的次数,从低维向高维重复
-A的类型众多,几乎全部类型均可以:array, list, tuple, dict, matrix以及基本数据类型int, string, float以及bool类型。
-reps的类型也不少,能够是tuple,list, dict, array, int,bool.但不能够是float, string, matrix类型。
 

二、函数运行原理:

A=[a 1,a 2,...,a m]
rep=[r 1,r 2,...,r n]
C=tile(A, rep)
rep重复A的顺序是由后往前依次重复上一次的结果,每次重复维度都提升一级。
Step1:C 1=[(a 1,a 2,...,a m) 1,(a 1,a 2,...,a m) 2,...,(a 1,a 2,...,a m) rn]
Step2:C 2=[(C 1) 1,(C 1) 2,...,(C 1) rn-1]
...
Stepm:C m=[(C m-1) 1,(C m-1) 2,...,(C m-1) rn-m+1]
 

三、函数用法举例:

A=[0,1]
rep=(2,3,4)
C=tile(A,rep)
 
Step1:
C 1=[0,1,0,1,0,1,0,1]
 
Step2:
C 2=

[[0 1 0 1 0 1 0 1]
[0 1 0 1 0 1 0 1]
[0 1 0 1 0 1 0 1]]学习

Step3:
C 3=

[[[0 1 0 1 0 1 0 1]
[0 1 0 1 0 1 0 1]
[0 1 0 1 0 1 0 1]]string

[[0 1 0 1 0 1 0 1]
[0 1 0 1 0 1 0 1]
[0 1 0 1 0 1 0 1]]]模板

 

四、更多函数用法示例:

Examples
--------
>>> a = np.array([0, 1, 2])
>>> np.tile(a, 2)
array([0, 1, 2, 0, 1, 2])
>>> np.tile(a, (2, 2))
array([[0, 1, 2, 0, 1, 2],
[0, 1, 2, 0, 1, 2]])
>>> np.tile(a, (2, 1, 2))
array([[[0, 1, 2, 0, 1, 2]],
[[0, 1, 2, 0, 1, 2]]])

>>> b = np.array([[1, 2], [3, 4]])
>>> np.tile(b, 2)
array([[1, 2, 1, 2],
[3, 4, 3, 4]])
>>> np.tile(b, (2, 1))
array([[1, 2],
[3, 4],
[1, 2],
[3, 4]])

>>> c = np.array([1,2,3,4])
>>> np.tile(c,(4,1))
array([[1, 2, 3, 4],
[1, 2, 3, 4],
[1, 2, 3, 4],
[1, 2, 3, 4]])原理

相关文章
相关标签/搜索