首页 > 其他 > 详细

numpy简单入门学习

时间:2016-07-15 20:58:07      阅读:359      评论:0      收藏:0      [点我收藏+]

为了快速的学习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

在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)

  • ndarray.ndims

axes的大小,在python中,被定义为rank

  • ndarray.shape

array的维度表示,它是一个元组,通过整数类型表征的,列如对于一个矩阵而言,有n行m列,那么它的shape则是(n,m)。

  • ndarray.size

array元素的个数,它等于shape中元素的乘积

  • ndarray.dtype

array元素的类型,在numpy中,基本的类型包括int32,int16以及float64等,当然也可以自定义数据类型

  • ndarray.itemsize

array中数据类型的大小,以字节为单位表征。列如int32类型的元素,itemsize的大小这位4

  • ndarray.data

包含array的数据的缓冲区,但是这个属性并不常用,更加常用的是通过索引访问元素

技术分享

  • array的创建

array可以通过python的列表或者元组创建,通过array函数进行创建,但是不能以多个单独的元素进行创建。

技术分享

二维array的创建可以通过序列的序列进行创建,三维的array则可以通过序列的序列的序列进行创建

技术分享

当然,在最开始就可以指明序列元素的类型:


技术分享


此外,还可以通过特定的函数进行创建,比如zeros函数是创建元素均为0的元素,ones创建元素均为1的函数,empty函数创建一个空的array,所有函数的默认类型为float64。

技术分享

如果需要创建一序列的数字,可以通过arrange和linspace创建,arange和linspace的不同在于,arrage是指明了数字序列的上界(不包含上界)以及步长,而linspace则指定了在上界和下界之间的元素的个数,包含上界:

技术分享

  • array的基本操作

array的算术操作是面向元素的。包含加法,减法以及乘法以及在python中称为Universal Function的函数,例如sin,cos以及sqrt等

技术分享

array的乘法需要主要的是:在面临矩阵的运算时,*一般意义上是矩阵乘积,而.*则是面向元素的乘积(在Matlab中)。但是在numpy中*是面向元素乘积的,而矩阵乘积则是需要通过函数dot实现。

技术分享

此外还有自更新运算*=记忆+=等,注意没有++运算

获取array的最大值,最小值,max以及min,可以指定列或者行得到每行或者每列的最大最小值。

技术分享


  • array的迭代,索引以及切片访问

熟悉列表等的应该会比较熟悉索引或者切片操作,这里就不详细介绍了,这里主要介绍迭代操作访问。

迭代访问仅仅适用于行迭代。

技术分享

  • array的堆积方式

在行或者列的值大小相同时,可以采取行堆积或者列堆积,从而组成一个新的array。注意行或者列的大小一定要匹配,或者堆积不能执行。

技术分享

大致内容介绍到这里。此外,以下是应用比较多的函数列表:

Array Creation
arange, array, copy, empty, empty_like, eye, fromfile, fromfunction, identity, linspace, logspace, mgrid,ogrid, ones, ones_like, r, zeros, zeros_like
Conversions
ndarray.astype, atleast_1d, atleast_2d, atleast_3d, mat
Manipulations
array_split, column_stack, concatenate, diagonal, dsplit, dstack, hsplit, hstack, ndarray.item, newaxis,ravel, repeat, reshape, resize, squeeze, swapaxes, take, transpose, vsplit, vstack
Questions
all, any, nonzero, where
Ordering
argmax, argmin, argsort, max, min, ptp, searchsorted, sort
Operations
choose, compress, cumprod, cumsum, inner, ndarray.fill, imag, prod, put, putmask, real, sum
Basic Statistics
cov, mean, std, var
Basic Linear Algebra
cross, dot, outer, linalg.svd, vdot

numpy简单入门学习

原文:http://blog.csdn.net/mao19931004/article/details/51917680

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!