Numpy中的tile函数用法

0、引言

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

1、函数定义

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类型。
 

2、函数运行原理:

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]
 

3、函数用法举例:

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]]

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

 

4、更多函数用法示例:

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]])






转载于:https://www.cnblogs.com/yxdz-hit/p/8128021.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值