NumPy

提供了两种基本对象ndarray(N-dimensional array object)和 ufunc(universal function object)
ndarray(下文统一称之为数组)是存储单一数据类型的多维数组,而ufunc则是能够对数组进行处理的函数

数组的创建是通过给np.array()函数传递python的序列对象完成的,可以通过设置关键字参数dtype设置元素类型

array实例对象常用属性:

a.dtype:获得元素类型
a.shape:获得数组维度,也可直接修改数组shape属性来改变数组的维度,只会改变每个轴的大小,数组元素在内存中的位置并没有改变

array实例对象常用方法:

reshape():创建一个改变了尺寸的新数组,原数组的shape保持不变,但共享内存,修改其中任意一个数组的元素都会同时修改另外一个数组的内容
arrange():类似于python的range函数,通过指定开始值、终值和步长来创建一维数组,注意数组不包括终值
linspace():指定开始值、终值和元素个数来等差创建一维数组,可以通过endpoint关键字指定是否包括终值,缺省设置是包括终值
logspace():和linspace类似,不过它创建等比数列
frombuffer, fromstring, fromfile等函数可以从字节序列创建数组,设置dtype控制元素类型
fromfunction(func, shape):通过制定函数func创建新数组,第一个参数为计算每个数组元素的函数,第二个参数为输出数组的大小

numpy.dtype({'names':[],'formats':[]}):定义一个结构数组,names定义每个字段名,formats定义对应字段类型
numpy.ogrid[:,:]:它像一个多维数组一样,用切片组元作为下标进行存取,返回的是一组可以用来广播计算的数组(坐标点)。其切片下标有两种形式:
开始值:结束值:步长,和np.arange(开始值, 结束值, 步长)类似
开始值:结束值:长度j,当第三个参数为虚数时,它表示返回的数组的长度,和np.linspace(开始值, 结束值, 长度)类似

ufunc是universal function的缩写,它是一种能对数组的每个元素进行操作的函数,计算整个数组时速度比math里的函数要快,而单个数时则是math快,如numpy.sin()

frompyfunc(func, nin, nout):func是计算单个元素的函数,nin是此函数的输入参数的个数,nout是此函数的返回值的个数

numpy.matrix():创建矩阵对象,有dot(计算的是这两个数组对应下标元素的乘积和(数学上称之为内积)、inner、outer
numpy.tofile(file),numpy.fromfile(file,[dtype]):tofile可以方便地将数组中数据以二进制的格式写进文件,但没有格式,因此用numpy.fromfile读回来的时候需要自己格式化数据
numpy.save(file,array),numpy.load(file):以NumPy专用的二进制类型保存数据,这两个函数会自动处理元素类型和shape等信息,后缀为npy,较难和其它语言编写的程序读入
numpy.savez(file, arr_0,[arr_1,...]):第一个参数是文件名,其后的参数都是需要保存的数组,也可以使用关键字参数为数组起一个名字,非关键字参数传递的数组会自动起名为arr_0, arr_1,输出的是一个压缩文件(扩展名为npz),其中每个文件都是一个save函数保存的npy文件,文件名对应于数组名。load函数自动识别npz文件,并且返回一个类似于字典的对象,可以通过数组名作为关键字获取数组的内容
numpy.savetxt(file,[fmt,delimiter]),numpy.loadtxt(file,[delimiter]):缺省按照'%.18e'格式保存数据,以空格分隔,保存时可以指定fmt和delimiter参数,分别控制保存元素的类型和分隔符,读入的时候也要指定delimiter参数
除了直接指定文件file,也可以传入已经打开的文件对象

Python2.7-NumPy的更多相关文章

  1. 其它课程中的python---2、NumPy模块

    其它课程中的python---2.NumPy模块 一.总结 一句话总结: numpy在数组计算方面又快又方便 1.NumPy中的ndarray是一个多维数组对象,该对象由哪两部分组成? -实际的数据 ...

  2. Python核心团队计划2020年停止支持Python2,NumPy宣布停止支持计划表

    Python核心团队计划在2020年停止支持Python 2.NumPy项目自2010年以来一直支持Python 2和Python 3,并且发现支持Python 2对我们有限的资源增加了负担:因此,我 ...

  3. 操作 numpy 数组的常用函数

    操作 numpy 数组的常用函数 where 使用 where 函数能将索引掩码转换成索引位置: indices = where(mask) indices => (array([11, 12, ...

  4. python2 和 python3共存,并且分开使用

    目录 一.本文使用的python版本安装 二.安装python2 和 Python3 三.修改名称,配置环境,实现共存 1.将C:\Python36中的python.exe修改为python3.exe ...

  5. faster-rcnn(testing): ubuntu14.04+caffe+cuda7.5+cudnn5.1.3+opencv3.0+matlabR2014a环境搭建记录

    python版本的faster-rcnn见我的另一篇博客: py-faster-rcnn(running the demo): ubuntu14.04+caffe+cuda7.5+cudnn5.1.3 ...

  6. Ubuntu 14.04上安装caffe

    本来实在windows 10上尝试安装caffe,装了一天没装上,放弃; 改在windows上装ubuntu的双系统,装了一个下午,不小心windows的系统盘被锁死了,也不会unlock?只好含泪卸 ...

  7. Ubuntu14.04配置cuda-convnet

    转载请注明:http://blog.csdn.net/stdcoutzyx/article/details/39722999 在上一个链接中,我配置了cuda,有强大的GPU,自然不能暴殄天物,让资源 ...

  8. 深度学习caffe:Ubuntu16.04安装指南(1)

    caffe [CPU ONLY] 2017-01-15 最简单的安装配置方式: 不用GPU加速,使用OPENCV2.4图像库, 这是根据官方教程(链接如下)简化而得到. Ubuntu 16.04 or ...

  9. Python package install血泪史

    [前言][絮絮叨叨篇]:说实话,不是第一次安装Python库了,但是貌似没有特别顺利的时候,可能还是遇到的困难不够多咯.配置环境真是个糟心的事儿,不过作为菜鸟,还是得磨练磨练,毕竟某人云:" ...

  10. Desktop Ubuntu 14.04LTS/16.04科学计算环境配置

    Desktop Ubuntu 14.04LTS/16.04科学计算环境配置 计算机硬件配置 cpu i5 6代 内存容量 8G gpu GTX960 显存容量 2G(建议显存在4G以上,否则一些稍具规 ...

随机推荐

  1. Spring、Springmvc整合web的web.xml配置

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:// ...

  2. hadoop_完全分布式配置

    注:此文章所写内容完全在虚拟机配置,系统:centos,jdk和hadoop已经安装完成所配集群包括hadoop01,hadoop02,hadoop03,hadoop04四台,ip分别为:192.16 ...

  3. Spring 概念

    spring概念 1.spring是一个开源的轻量级的开源框架. 2.spring的核心主要分为两部分: (1)aop:面向切面编程,扩展功能不是修改源代码实现. (2)ioc:控制反转,比如有一个类 ...

  4. form表单提交注意事项

    1.在一个form表单中,若只有一个input(不管type是什么),按回车键表单会自动提交,但是当表单中存在多个input时,按回车键不会执行任何操作,这是form表单的一个特性. 2.在一个表单中 ...

  5. 【代码笔记】iOS-密码在进入后台1小时后重新设置

    代码: AppDelegate.m #import "AppDelegate.h" #import "ViewController.h" @interface ...

  6. Bootstrap(一)

    Bootstrap 是最受欢迎的 HTML.CSS 和 JS 框架,用于开发响应式布局.移动设备优先的 WEB 项目. 使用感觉简约大气便捷,扁平化设计.好多好多CSS.JS....总有你心仪的那一款 ...

  7. js 事件委托代理

    在优化网页性能的技巧当中,对DOM的优化是必不可少的.这其中就涉及到了javascript对DOM的频繁操作.比如响应用户操作的事件.一般情况下,如果是稍微初级一点的前端程序员,在拿到项目的时候,对待 ...

  8. nginx禁止ip默认参数是$remote_addr无法禁止真实ip的问题

    由于网站使用了cdn所以$remote_addr获取的ip是cdn的ip,我现在先禁止某些ip访问发现无法禁止cdn传递过来的客户端的ip也就是$http_x_forwarded_for这个参数.比如 ...

  9. 前端开发笔记(1)html基础

    HTML介绍 HTML是HyperTextMarkupLanguage超文本标记语言的缩写 HTML是标记语意的语言 编辑器 任何纯文本编辑器都能够编辑html,比如记事本,editplus,note ...

  10. MSCRM中报表开发一:创建基于SQL报表

    1.       新建报表项目.打开SQL Server Business Intelligence Development Studio,点击 文件 > 新建 > 项目,项目类型选择 商 ...