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. (转发)一个通用的C++ 消息总线框架

    注:转自https://www.cnblogs.com/qicosmos/archive/2013/04/28/3048919.html 应用开发过程中经常会处理对象间通信的问题,一般都是对象或接口的 ...

  2. 移动端开发在iOS系统中 new Date() 返回 NaN 的问题

    问题: 通过 new Date() 函数将后台返回的时间('2021-11-25')获取时间戳.在 chrome 浏览器的手机模拟器中没有出现问题,但在 iPhone 真机测试的时候,显示的结果不符合 ...

  3. JS touch

    一个月没写博客了,感觉空唠唠的,有多好想写的,今天全都给补上吧,记录最近这个月的收获 https://blog.csdn.net/sinat_19327991/article/details/7382 ...

  4. Node.js-串行化流程控制

    内容主要来源:吴海星译,<Node.js实战>. 串行任务:需要一个接着一个坐的任务叫做串行任务. 可以使用回调的方式让几个异步任务按顺序执行,但如果任务过多,必须组织一下,否则过多的回调 ...

  5. 【代码笔记】iOS-播放从网络上下载的语音

    代码: ViewController.m #import "ViewController.h" //录音 #import <AVFoundation/AVFoundation ...

  6. css 常用的几种垂直居中(包括图片)

    我知道现在有非常多的水平垂直居中的写法,我就写一些我自己常用的方法,同时说明一下优缺点 <div class="wrapper"> <div class=&quo ...

  7. 如何将水晶报表(Crystal Report)导入葡萄城报表

    当从旧的报表平台迁移到葡萄城报表工具时,意味着有大量的报表设计工作要重复去做,如果有一款工具能够在这些工具之间进行自由转换,就能省去报表开发几乎一半的工作量. 葡萄城报表为兼容其他报表控件,提供了简单 ...

  8. soapUI 再谈SoapUI接口测试--文件组织与接口“布局”管理

    再谈SoapUI接口测试--文件组织与接口“布局”管理 by:授客 QQ:1033553122 SoapUI-Pro-x64-5.1.2_576025(含破解文件),软件下载地址: http://pa ...

  9. Expo大作战(二十七)--expo sdk api之Util(expo自带工具类),tackSnapshotAsync,Svg,SQLite

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  10. 调研getfit

    Gitfit实际是一个提供私人教练的服务,其主要业务有三种,“局部减脂”每天0.5-1小时,对局部高强度的刺激,快速达到塑形目地,不需要复杂器械,0基础也能跟上训练进度,并提供咨询师.营养师团队.专属 ...