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

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

[email protected]:~$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对象的数据项,会生成一个复制品,所以对内嵌对象的改动不会有副作用。

时间: 2024-10-13 17:50:44

数学之路-python计算实战(5)-初识numpy以及pypy下执行numpy的相关文章

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

N NumPy系统是Python的一种开源的数字扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)).据说NumPy将Python相当于变成一种免费的更强大的MatLab系统.一个用python实现的科学计算包.包括:1.一个强大的N维数组对象Array:2.比较成熟的(广播)函数库:3.用于整合C/C++和Fortran代码的工具包:4.实用的线性代数.傅里叶变换和随机数生成

数学之路-python计算实战(18)-机器视觉-滤波去噪(双边滤波与高斯滤波 )

高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到.高斯滤波的具体操作是:用一个模板(或称卷积.掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值. #滤波去噪 lbimg=cv2.GaussianBlur(newimg,(3,3),1.8) cv2.imshow('src',newimg) cv2.imshow('dst',lbimg) cv2.waitKey() cv2.destroyAllW

数学之路-python计算实战(16)-机器视觉-滤波去噪(邻域平均法滤波)

# -*- coding: utf-8 -*- #code:[email protected] #邻域平均法滤波,半径为2 import cv2 import numpy as np fn="test3.jpg" myimg=cv2.imread(fn) img=cv2.cvtColor(myimg,cv2.COLOR_BGR2GRAY) #加上椒盐噪声 param=20 #灰阶范围 w=img.shape[1] h=img.shape[0] newimg=np.array(img)

数学之路-python计算实战(21)-机器视觉-拉普拉斯线性滤波

拉普拉斯线性滤波,.边缘检测   Laplacian Calculates the Laplacian of an image. C++: void Laplacian(InputArray src, OutputArray dst, int ddepth, int ksize=1, double scale=1, double delta=0, int borderType=BORDER_DEFAULT ) Python: cv2.Laplacian(src, ddepth[, dst[, k

数学之路-python计算实战(22)-机器视觉-sobel非线性滤波

sobel非线性滤波,采用梯度模的近似方式 Sobel Calculates the first, second, third, or mixed image derivatives using an extended Sobel operator. C++: void Sobel(InputArray src, OutputArray dst, int ddepth, int dx, int dy, intksize=3, double scale=1, double delta=0, int

数学之路-python计算实战(11)-机器视觉-图像增强

在计算机领域中,灰度(Gray scale)数字图像是每个像素只有一个采样颜色的图像.这类图像通常显示为从最暗黑色到最亮的白色的灰度,尽管理论上这个采样可以任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色.灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑白两种颜色,灰度图像在黑色与白色之间还有许多级的颜色深度.用于显示的灰度图像通常用每个采样像素8 bits的非线性尺度来保存,这样可以有256种灰度(8bits就是2的8次方=256).这种精度刚刚能够避免可见的条带失真,并且非常易于编

数学之路-python计算实战(4)-Lempel-Ziv压缩(2)

Format characters have the following meaning; the conversion between C and Python values should be obvious given their types. The 'Standard size' column refers to the size of the packed value in bytes when using standard size; that is, when the forma

数学之路-python计算实战(3)-霍纳法则

假设有n+2个实数a0,a1,-,an,和x的序列,要对多项式Pn(x)= anx ^n+a(n-1)x^(n-1)+-+a1x+a0求值,直接方法是对每一项分别求值,并把每一项求的值累加起来,这种方法十分低效,它需要进行n+(n-1)+-+1=n(n+1)/2次乘法运算和n次加法运算.有没有更高效的算法呢?答案是肯定的.通过如下变换我们可以得到一种快得多的算法,即Pn(x)= anx ^n+a(n-1)x^(n-1)+-+a1x+a0=((-(((anx +an-1)x+an-2)x+ an-

数学之路-python计算实战(19)-机器视觉-卷积滤波

filter2D Convolves an image with the kernel. C++: void filter2D(InputArray src, OutputArray dst, int ddepth, InputArraykernel, Point anchor=Point(-1,-1), double delta=0, int borderType=BORDER_DEFAULT ) Python: cv2.filter2D(src, ddepth, kernel[, dst[,