N
NumPy系统是Python的一种开源的数字扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。据说NumPy将Python相当于变成一种免费的更强大的MatLab系统。
一个用python实现的科学计算包。包括:1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。
NumPy(Numeric Python)提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。专为进行严格的数字处理而产生。多为很多大型金融公司使用,以及核心的科学计算组织如:LawrenceLivermore,NASA用其处理一些本来使用C++,Fortran或Matlab等所做的任务。
git clonehttps://bitbucket.org/pypy/numpy.git
cd numpy
pypy setup.pyinstall
deep@myddb:~$pypy
Python 2.7.6 (32f35069a16d819b58c1b6efb17c44e3e53397b2, Jun 26 2014, 21:49:19)
[PyPy 2.3.1 with GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or"license" for more information.
>>>> import numpy as np
>>>>
本博客所有内容是原创,如果转载请注明来源
http://blog.csdn.net/myhaspl/
比python标准库更方便的是,numpy提供了一个N维数组类型ndarray,这是一个容器类型,存储了相同类型与大小的数据项,ndarray可以被切片,拥有整数索引,每个数据项占有一样的内存空间,数组对象的维度数目由shape属性定义,这是一个元组,数据项的类型由dtype定义。
>>>> myx=np.array([[11,22,33],[44,55,66]])
>>>>myy=np.array([myx,myx])
>>>> myy
array([[[11, 22,33],
[44, 55, 66]],
[[11, 22, 33],
[44, 55, 66]]])
>>>>myx[0]=[111,222,333]
>>>> myy
array([[[11, 22,33],
[44, 55, 66]],
[[11, 22, 33],
[44, 55, 66]]])
>>>>myx.dtype
dtype('int32')
>>>>myy.dtype
dtype('int32')
>>>>myy.shape
(2, 2, 3)
>>>>myx.shape
(2, 3)
>>>>
以上代码演示了基本使用,ndarray对象本身可以做为另一个ndarray对象的数据项,会生成一个复制品,所以对内嵌对象的修改不会有副作用。