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=[a1,a2,...,am]

rep=[r1,r2,...,rn]

C=tile(A, rep)

rep重复A的顺序是由后往前依次重复上一次的结果,每次重复维度都提高一级。

Step1:C1=[(a1,a2,...,am)1,(a1,a2,...,am)2,...,(a1,a2,...,am)rn]

Step2:C2=[(C1)1,(C1)2,...,(C1)rn-1]

...

Stepm:Cm=[(Cm-1)1,(Cm-1)2,...,(Cm-1)rn-m+1]

3、函数用法举例:

A=[0,1]

rep=(2,3,4)

C=tile(A,rep)

Step1:

C1=[0,1,0,1,0,1,0,1]

Step2:

C2=

[[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:

C3=

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

时间: 2024-10-11 08:49:25

Numpy中的tile函数用法的相关文章

VC中常见API函数用法(经验版)

1.设置对话框为无边框方法 ModifyStyle(WS_CAPTION | WS_THICKFRAME, 0, SWP_FRAMECHANGED); 2.设置控件灰色与不灰色 void CMthread1Dlg::OnStop() { // TODO: Add your control notification handler code here m_bRun = FALSE; GetDlgItem(IDC_START)->EnableWindow(TRUE); GetDlgItem(IDC_

[笔记]numpy中的tile与kron的用法

numpy中提供了不少数学中矩阵的运算.构造函数. 闭上眼睛想一想,发现其中常用的也就是那么几个:cos, sin, mean, dot, max,min, outer,argsort,ones,zeros,arrange,reshape,fft---等. 想了半天,可以也不超过30个左右常用函数. 但是numpy的确博大精深:查看文档发现有大概586个方法或属性! 今天,我就记录一下numpy中,矩阵运算tile与kron的用处之一吧. 确切的讲,是谈论的在向量化运算方面的用处. 记得高等代数

python tile函数用法

tile函数位于python模块 numpy.lib.shape_base中,他的功能是重复某个数组.比如tile(A,n),功能是将数组A重复n次,构成一个新的数组,我们还是使用具体的例子来说明问题: 先来引入numpy下的所有方法: >>> from numpy import * 我们创建一个a,如图下图,使用tile来创建b,注意看b的数据结构: >>> a=[0,1,2]>>> b=tile(a,2)>>> barray([0

numpy中一些常用函数的用法总结

先简单记录一下,后续补充详细的例子   1. strip()函数 s.strip(rm):s为字符串,rm为要删除的字符序列 只能删除开头或是结尾的字符或者字符串.不能删除中间的字符或是字符串 当rm为空时,默认删除空白符(包括'\n','\r','\t',' ') 2.map()函数 原型map(function, iterable,...) 对可迭代函数'iterable'中的每一个元素应用'function'方法,将结果作为list返回 如果给出了额外的可迭代参数,则对每个可迭代参数中的元

Oracle中的时间函数用法(to_date、to_char) (总结)

一.24小时的形式显示出来要用HH24 select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual; select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual; 二.to_date() function 1.日期格式参数含义说明 D一周中的星期几 DAY天的名字,使用空格填充到9个字符 DD月中的第几天 DDD年中的第几天 DY天的简写名 IW ISO标准

python中的enumerate()函数用法

enumerate函数用于遍历序列中的元素以及它们的下标,可以非常方便的遍历元素. 比如我在往excel中写数据时就用到了这个函数: data = [] data.append(('预约码', '车牌号码', '进校时间段', '出校时间段', '进校校区',)) for i in car_orders: data.append((i.order_number, i.car_number, i.during_in_time, i.during_out_time, i.in_school)) fo

Android Studio中设置提示函数用法

Eclipse有一个很好的功能,就是当你代码调用某个android API时,鼠标移到对应的函数或者方法上,就会自动有一个悬浮窗提示该函数的说明(所包含的参数含义,该方法功能).迁移到Android Studio后,这个鼠标移到函数上,你发现悬浮窗不出来了.那么在Android Studio到底如何查看函数的说明呢. 在Android Studio中默认情况下是不会和Eclipse那样,鼠标移动到一个类或者方法或者变量上面,就会弹出悬浮框,显示相关的文档的.不过,Android Studio可以

numpy下的flatten()函数用法

flatten是numpy.ndarray.flatten的一个函数,其官方文档是这样描述的: ndarray.flatten(order='C') Return a copy of the array collapsed into one dimension. Parameters:   order : {‘C’, ‘F’, ‘A’, ‘K’}, optional ‘C’ means to flatten in row-major (C-style) order. ‘F’ means to f

C++中的c_str()函数用法

语法: const char *c_str(); c_str()函数返回一个指向正规C字符串的指针常量, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式. 注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针 比如:最好不要这样: char* c; string s="1234"; c = s.c_str(); //c最后指向的内容是