标签:
为了快速的学习numpy,只要参阅了官网的快速入门教程进行学习,官网的网址:https://docs.scipy.org/doc/numpy-dev/user/quickstart.html。虽然和matlab的操作大同小异,但是还是需要很多明确的python的概念,比如序列,列表以及元组的概念,当然这也是python里面需要注意最多的基本的数据类型。现将学习的基本过程叙述如下:
numpy是通过python语言实现的用于科学研究中的计算。可以方便的进行代数计算、傅里叶计算等。这是Numpy学习的官方网站:http://www.numpy.org/。所以在进行numpy的学习之前,确保你有一定的python基础,能够理解序列、列表以及元组的概念。
在numpy的主要对象是array,这里需要与python中的序列、列表以及元组区分一下,在python中,列表等元素的数据类型是可以不一样的,但是在array中的数据类型是一致的。array具有多维性。array的元素可以通过索引的方式进行访问。在Numpy中,array的维度称为axes。axes的大小称为rank。列如array[1,2,1],它的维度为1,rank的值为1,因为只有一维。例如以下array,rank的大小为2,第一维度或者axes的的长度为2,第二维度或者axes的长度为3,他们的索引分别为0和1.
array的重要属性如下:(注释:在numpy,array类声明为ndarray,但是为我们所熟知的这是ndarray的别名,array)
axes的大小,在python中,被定义为rank
array的维度表示,它是一个元组,通过整数类型表征的,列如对于一个矩阵而言,有n行m列,那么它的shape则是(n,m)。
array元素的个数,它等于shape中元素的乘积
array元素的类型,在numpy中,基本的类型包括int32,int16以及float64等,当然也可以自定义数据类型
array中数据类型的大小,以字节为单位表征。列如int32类型的元素,itemsize的大小这位4
包含array的数据的缓冲区,但是这个属性并不常用,更加常用的是通过索引访问元素
array可以通过python的列表或者元组创建,通过array函数进行创建,但是不能以多个单独的元素进行创建。
二维array的创建可以通过序列的序列进行创建,三维的array则可以通过序列的序列的序列进行创建
当然,在最开始就可以指明序列元素的类型:
此外,还可以通过特定的函数进行创建,比如zeros函数是创建元素均为0的元素,ones创建元素均为1的函数,empty函数创建一个空的array,所有函数的默认类型为float64。
如果需要创建一序列的数字,可以通过arrange和linspace创建,arange和linspace的不同在于,arrage是指明了数字序列的上界(不包含上界)以及步长,而linspace则指定了在上界和下界之间的元素的个数,包含上界:
array的算术操作是面向元素的。包含加法,减法以及乘法以及在python中称为Universal Function的函数,例如sin,cos以及sqrt等
array的乘法需要主要的是:在面临矩阵的运算时,*一般意义上是矩阵乘积,而.*则是面向元素的乘积(在Matlab中)。但是在numpy中*是面向元素乘积的,而矩阵乘积则是需要通过函数dot实现。
此外还有自更新运算*=记忆+=等,注意没有++运算
获取array的最大值,最小值,max以及min,可以指定列或者行得到每行或者每列的最大最小值。
熟悉列表等的应该会比较熟悉索引或者切片操作,这里就不详细介绍了,这里主要介绍迭代操作访问。
迭代访问仅仅适用于行迭代。
在行或者列的值大小相同时,可以采取行堆积或者列堆积,从而组成一个新的array。注意行或者列的大小一定要匹配,或者堆积不能执行。
大致内容介绍到这里。此外,以下是应用比较多的函数列表:
标签:
原文地址:http://blog.csdn.net/mao19931004/article/details/51917680