三、numpy系列

1、np.maximum:(X, Y, out=None)

  X 与 Y 逐位比较取其大者;
  最少接收两个参数

h=[[-2,2,10],[-5,-9,20]]

hh=np.maximum(h, 1)

hh=[[1,2,10],[1,1,20]]

2、np.max:(a, axis=None, out=None, keepdims=False)
        求序列的最值
        最少接收一个参数
        axis:默认为列向(也即 axis=0),axis = 1 时为行方向的最值;

3、np.array([[1,2,3],[4,5,6]])

  创建np数组

  a[:,0] 输出结果为[1, 4]

  

4、np.linspace(-5,5,200)[:,np.newaxis];,

  生成线性随机x数据,数据-5到5,总共200个

5、np.random.normal(0,0.5,x_data.shape);

  生成0-0.5高斯分布的 x_data.shape类型的数据

6、矩阵变换、变形

  a.reshape(-1) a.reshape(3, 4, -1) a.T # 转置 a.transpose() # 转置

  numpy.linalg.inv(a) # 求逆

  a.diagonal([offset, axis1, axis2]) #对角元

  numpy.einsum('iijj->ij',a) numpy.r_[a,b] # 在a中增加新行b numpy.c_[a,b] # 新列

7、一般运算

  y = x # 建立引用,修改x会影响y

  y = x.copy() # 建立副本,修改x不会影响

  y a.dot(b) # 矩阵乘法

  numpy.dot(a,b) # 矩阵乘法 numpy.trace(a) #求迹

8、特殊矩阵

  a = numpy.zeros([4,5]) # all zero

  a = numpy.ones([7,6]) # all one

  a = numpy.eye(4,7) # 4x7 diagonal 对角线

  a = numpy.diag(range(5)) # 5x5 diagonal 对角线

  a = numpy.empty((2,3))

  a = numpy.arange(10, 30, 5) # array([10, 15, 20, 25]), 1-D

  a = numpy.linspace(0, 2, 9) # 9 numbers from 0 to 2

  a = numpy.random.random((2,3)) # 随机数矩阵

  a = numpy.fromfunction(f,(5,4),dtype=int) # 从函数f(x,y)建立

9、numpy.tile(A,reps)

  tile共有2个参数,A指待输入数组,reps则决定A重复的次数。整个函数用于重复数组A来构建新的数组。

  假设reps的维度为d,那么新数组的维度为max(d,A.ndim)。下面分三种情况进行讨论:

  (1)A.dim < d

  则向A中添加新轴扩充A的维度。维度大小可以从shape中看出,一般通过向shape对应的元组中添加1完成对A维度的扩充。扩充完成后,则可根据reps的值对A中相应维度的值进行重复。例如,一维数组shape为(3,),扩充至2维则shape值为(1,3),扩充至3维则shape值为(1,1,3)

  (2)A.dim > d

  将reps扩充至与A相同的维度。扩充方法同上,也是向shape对应元组中添1,然后再进行重复。例如,4维数组A的shape为(2,3,4,5),而reps为(2,2)只有2维,那么就要对reps添维进行扩充,得到(1,1,2,2)

  (3)A.dim = d

  不需要扩充,直接按reps的值对相应维度的值进行重复。

>>>from numpy import *
>>> a = array([1,2,3])
>>>print a.shape
(3.)
>>>print a.ndim
1
>>>b = tile(a,2)
>>>print b
[1 2 3 1 2 3]
>>>print b.shape
(6,)
>>>print b.ndim
1
>>>c = tile(a,(2,3))
>>>print c
[[1 2 3 1 2 3 1 2 3]
[1 2 3 1 2 3 1 2 3]]
>>>print c.shape
(2,9)
>>>print c.ndim
2

numpy方法介绍的更多相关文章

  1. [转载]C#读写txt文件的两种方法介绍

    C#读写txt文件的两种方法介绍 by 大龙哥 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char ...

  2. fstream的使用方法介绍

    转载自:  fstream的使用方法介绍 - saga's blog - C++博客 http://www.cppblog.com/saga/archive/2007/06/19/26652.html ...

  3. Windows下获取本机IP地址方法介绍

    Windows下获取本机IP地址方法介绍 if((hostinfo = gethostbyname(name)) != NULL) { #if 1 ; printf("IP COUNT: % ...

  4. WebService服务调用方法介绍

    1 背景概述 由于在项目中需要多次调用webservice服务,本文主要总结了一下java调用WebService常见的6种方式,即:四种框架的五种调用方法以及使用AEAI ESB进行调用的方法. 2 ...

  5. C#读写txt文件的两种方法介绍

    C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...

  6. jquery的ajax()函数传值中文乱码解决方法介绍

    jquery的ajax()函数传值中文乱码解决方法介绍,需要的朋友可以参考下 代码如下: $.ajax({ dataType : ‘json', type : ‘POST', url : ‘http: ...

  7. UploadifyAPI-上传插件属性和方法介绍

    上一篇文章简单的介绍了Uploadify上传插件的使用.但是对于常用的属性和方法并没有说明.授人以鱼不如授人以渔,我决定将常用的属性列举出来,供大伙参考参考.           Uploadify属 ...

  8. js保留小数点后N位的方法介绍

    js保留小数点后N位的方法介绍 利用toFixed函数 代码如下 复制代码 <script language="javascript"> document.write( ...

  9. Thinkphp里import的几个使用方法介绍

    以下附上import的几个使用方法介绍 1.使用方法一 import('@.Test.Translate'); @,表示项目根文件夹.假定根文件夹是:App/ 导入类库的路径是:App/Lib/Tes ...

随机推荐

  1. DVWA平台v1.9-Command Injection

    命令拼接: &:简单的拼接,第一条命令和第二条命令间没有什么制约关系 &&:第一条命令执行成功了,才会执行第二条命令 |:第一条命令的输出作为第二条命令的输入 ||:第一条命令 ...

  2. 将CDM中所有以Relatonship_开头的关系全部重命名,避免生成数据库因为重复关系名报错

    Option   Explicit ValidationMode   =   True InteractiveMode =   im_Batch Dim   mdl   '当前model '获取当前活 ...

  3. javascript——作用域与闭包

    http://www.cnblogs.com/lucio-yr/p/4047972.html 一.作用域: 在函数内部:用 var 声明的表示局部变量,未用var的是全局变量. 作用域取决于变量定义时 ...

  4. 【Python环境】matplotlib - 2D 与 3D 图的绘制

    2015-10-30数据科学自媒体 类MATLAB API 最简单的入门是从类 MATLAB API 开始,它被设计成兼容 MATLAB 绘图函数. 让我们加载它: from pylab import ...

  5. centos7部署func

    Func(Fedora Unitied Network Controller)是红帽公司以Fedora平台构建的统一网络控制器,是为解决集群管理.监控问题而设计开发的系统管理基础框架.它是一个能有效简 ...

  6. 企业级搜索引擎Solr 第三章 索引数据(Indexing Data)

    虽然本书中假设你要建索引的内容都是有着良好结构的,比如数据库表,XML文件,CSV,但在现实中我们要保存很混乱的数据,或是二进制文件,如PDF,Microsoft Office,甚至是图片和音乐文件. ...

  7. phper 需要学习js

  8. Blender 工具使用——模式切换

    Blender 工具使用--模式切换 制作骨架时 在物件模式(Object Mode)下使用鼠标右键选中一个骨架,按Tab键,可以切换为编辑模式(Edit Mode),按Ctrl + Tab可以进入骨 ...

  9. libmad介绍

    一.简介 libmad是一个开源mp3解码库,其对mp3解码算法做了很多优化,性能较好,很多播放器如mplayer.xmms等都是使用这个开源库进行解码的:如果要设计mp3播放器而又不想研究mp3解码 ...

  10. 一个小错误,在for循环中,每次repaint()的时候,记得先把frame涂成白色的。等于擦掉原来的痕迹·。

    import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Animate { int x=1; in ...