码迷,mamicode.com
首页 > 编程语言 > 详细

Python 之NumPy

时间:2017-09-07 23:06:17      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:python   numpy   

NumPy的主要对象是同质的多维数组。它是一个有明确索引的相同类型的元素组成的表。在NumPy中维度称之为轴,轴数称之为列。

举个例子:

例一:

[ 1, 2, 1 ]

这是一个一维数组,因为它只有一个轴,这个轴的长度是3.

列二:

[[ 1., 0., 0.],[ 0., 1., 2.]]

这是一个二维数组,第一个维度的长度是2,第二个维度的长度是3.

NumPy中的array类被称之为ndarray,但是他的别名array更有名。特别需要注意的是NumPy.array和Python 标准库里的arry.array不一样。array.array只提供了比较少的方法。而NumPy中array包含以下重要属性:

ndarray.ndim

    数组的维度数量

    返回类型: number

ndarray.shape

    数组的各个维度,这是一个存储了数组各个维度大小的int类型元祖。是一个n行m列矩阵,shape(n,m),这个shape的长度就是数组的维度数量。(如(2,3)表示2x3)

    返回类型:tuple

ndarray.size

    数组中所有元素的数量

   返回类型:number

ndarray.dtype

    数组中元素的类型。你可以使用python的types来创建和指定dtype’s,除此之外,numpy有自己的types,如:float64

返回类型:dtype对象

ndarray.itemsize

    数组中每个元素的字节数。例如:float64类型的数组元素的itemize是8(64/8)

ndarray.data

    不常用,访问数组元素使用索引更便利



创建数组

#使用array方法创建数组,array的参数可以是python的list和tuple
>>> import numpy as np
>>> a = np.array([2,3,4])
>>> a
array([2, 3, 4])
>>> a.dtype
dtype(‘int64‘)
>>> b = np.array([1.2, 3.5, 5.1])
>>> b.dtype
dtype(‘float64‘)
#array可以将序列中的序列转化为2维数组
>>> b = np.array([(1.5,2,3), (4,5,6)])
>>> b
array([[ 1.5,  2. ,  3. ],       [ 4. ,  5. ,  6. ]])
数组的类型可以在创建时被显示的指定
>>> c = np.array( [ [1,2], [3,4] ], dtype=complex )
>>> c
array([[ 1.+0.j,  2.+0.j],       [ 3.+0.j,  4.+0.j]])

在创建数组的时候通常不知道数组的数据,但是知道数组的大小。所以numpy提供了几种方式类初始化数组内容。

zeros创建一个所有元素都是0的数组

>>> np.zeros( (3,4) )
array([[ 0.,  0.,  0.,  0.],       
    [ 0.,  0.,  0.,  0.],       
    [ 0.,  0.,  0.,  0.]])

ones创建一个所有元素都是1的数组

>>> np.ones( (2,3,4), dtype=np.int16 )  # dtype can also be specified
array([[[ 1, 1, 1, 1],
        [ 1, 1, 1, 1],
        [ 1, 1, 1, 1]],
        [[ 1, 1, 1, 1],
        [ 1, 1, 1, 1],        
        [ 1, 1, 1, 1]]], dtype=int16)

empty的内容使用随机数填充

>>> np.empty( (2,3) )    # uninitialized, output may vary
array([[  3.73603959e-262,   6.02658058e-154,   6.55490914e-260],
       [  5.30498948e-313,   3.14673309e-307,   1.00000000e+000]

本文出自 “数据挖掘工程师的成长历程” 博客,请务必保留此出处http://qianqiansun.blog.51cto.com/13271301/1963445

Python 之NumPy

标签:python   numpy   

原文地址:http://qianqiansun.blog.51cto.com/13271301/1963445

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!