数学之路-python计算实战(5)-初识numpy以及pypy下运行numpy

时间:2022-11-29 21:27:02

N

NumPy系统是Python的一种开源的数字扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。据说NumPyPython相当于变成一种免费的更强大的MatLab系统。
一个用python实现的科学计算包。包括:1、一个强大的N维数组对象Array2、比较成熟的(广播)函数库;3、用于整合C/C++Fortran代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。
NumPy
Numeric Python)提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。专为进行严格的数字处理而产生。多为很多大型金融公司使用,以及核心的科学计算组织如:LawrenceLivermoreNASA用其处理一些本来使用C++FortranMatlab等所做的任务。

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对象的数据项,会生成一个复制品,所以对内嵌对象的修改不会有副作用。