Python2.7-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的更多相关文章
- 其它课程中的python---2、NumPy模块
其它课程中的python---2.NumPy模块 一.总结 一句话总结: numpy在数组计算方面又快又方便 1.NumPy中的ndarray是一个多维数组对象,该对象由哪两部分组成? -实际的数据 ...
- Python核心团队计划2020年停止支持Python2,NumPy宣布停止支持计划表
Python核心团队计划在2020年停止支持Python 2.NumPy项目自2010年以来一直支持Python 2和Python 3,并且发现支持Python 2对我们有限的资源增加了负担:因此,我 ...
- 操作 numpy 数组的常用函数
操作 numpy 数组的常用函数 where 使用 where 函数能将索引掩码转换成索引位置: indices = where(mask) indices => (array([11, 12, ...
- python2 和 python3共存,并且分开使用
目录 一.本文使用的python版本安装 二.安装python2 和 Python3 三.修改名称,配置环境,实现共存 1.将C:\Python36中的python.exe修改为python3.exe ...
- 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 ...
- Ubuntu 14.04上安装caffe
本来实在windows 10上尝试安装caffe,装了一天没装上,放弃; 改在windows上装ubuntu的双系统,装了一个下午,不小心windows的系统盘被锁死了,也不会unlock?只好含泪卸 ...
- Ubuntu14.04配置cuda-convnet
转载请注明:http://blog.csdn.net/stdcoutzyx/article/details/39722999 在上一个链接中,我配置了cuda,有强大的GPU,自然不能暴殄天物,让资源 ...
- 深度学习caffe:Ubuntu16.04安装指南(1)
caffe [CPU ONLY] 2017-01-15 最简单的安装配置方式: 不用GPU加速,使用OPENCV2.4图像库, 这是根据官方教程(链接如下)简化而得到. Ubuntu 16.04 or ...
- Python package install血泪史
[前言][絮絮叨叨篇]:说实话,不是第一次安装Python库了,但是貌似没有特别顺利的时候,可能还是遇到的困难不够多咯.配置环境真是个糟心的事儿,不过作为菜鸟,还是得磨练磨练,毕竟某人云:" ...
- Desktop Ubuntu 14.04LTS/16.04科学计算环境配置
Desktop Ubuntu 14.04LTS/16.04科学计算环境配置 计算机硬件配置 cpu i5 6代 内存容量 8G gpu GTX960 显存容量 2G(建议显存在4G以上,否则一些稍具规 ...
随机推荐
- Java面试题—初级(6)
71,谈谈你对Struts的理解. 1. struts是一个按MVC模式设计的Web层框架,其实它就是一个Servlet,这个Servlet名为ActionServlet,或是ActionServle ...
- java.lang.ExceptionInInitializerError异常
今天在开发的过程中,遇到java.lang.ExceptionInInitializerError异常,百度查了一下,顺便学习学习,做个笔记 静态初始化程序中发生意外异常的信号,抛出Exception ...
- HDU1816(二分+2-SAT)
Get Luffy Out * Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...
- Django中连接redis
1. 安装 pip install django-redis 2. settings中配置 CACHES = { "default": { "BACKEND": ...
- SSL certificate problem: unable to get local issuer certificate 的解决方法
今天在进行微信开发获取微信Access_Token时,使用到了php的curl库, 在敲完代码后获取token失败,经过各种排查错误,到了下面这一步 SSL certificate problem: ...
- C# Task注意事项
1.在Task中调用主线程控件 Task.Factory.StartNew(() => { }).ContinueWith(task => { this.Invoke(new Action ...
- python 日志打印之logging使用介绍
python 日志打印之logging使用介绍 by:授客QQ:1033553122 测试环境: Python版本:Python 2.7 简单的将日志打印到屏幕 import logging lo ...
- 【Python】多线程
import threading import time class myThread (threading.Thread): #继承父类threading.Thread def __init__(s ...
- 用JS实现控制浏览器F12与右键功能
本文出至:新太潮流网络博客 用JS实现控制浏览器F12与右键功能,防止恶意窃取代码,或其他直接复制进去就好 //禁用右键 document.oncontextmenu = function () { ...
- leveldb源码分析--SSTable之block
在SSTable中主要存储数据的地方是data block,block_builder就是这个专门进行block的组织的地方,我们来详细看看其中的内容,其主要有Add,Finish和CurrentSi ...