Python创建数组

1  创建数组

array函数

>>> a=([1,2],[3,4])
>>> array(a)
array([[1, 2],
       [3, 4]])

arange函数:指定初始值、终值、步长来创建数组

>>> import numpy
>>> numpy.arange(0,1,0.1)
array([ 0. ,  0.1,  0.2,  0.3,  0.4,  0.5,  0.6,  0.7,  0.8,  0.9])

linspace函数:通过指定开始值、终值和元素个数来创建一维数组,可以通过endpoint关键字指定是否包括终值,缺省设置是包括终值

>>> numpy.linspace(0,1,10)
array([ 0.        ,  0.11111111,  0.22222222,  0.33333333,  0.44444444,
        0.55555556,  0.66666667,  0.77777778,  0.88888889,  1.        ])

logspace函数和linspace类似,不过它创建等比数列,下面的例子产生1(10^0)到100(10^2)、有20个元素的等比数列

>>> numpy.logspace(1,2,20)
array([  10.        ,   11.28837892,   12.74274986,   14.38449888,
         16.23776739,   18.32980711,   20.69138081,   23.35721469,
         26.36650899,   29.76351442,   33.59818286,   37.92690191,
         42.81332399,   48.32930239,   54.55594781,   61.58482111,
         69.51927962,   78.47599704,   88.58667904,  100.        ])

此外,使用frombuffer, fromstring, fromfile等函数可以从字节序列创建数组,下面以fromstring为例:

>>> s='abcdefg'
>>> numpy.fromstring(s,dtype=numpy.int8)
array([ 97,  98,  99, 100, 101, 102, 103], dtype=int8)

fromfunction函数的第一个参数为计算每个数组元素的函数,第二个参数为数组的大小(shape),因为它支持多维数组,所以第二个参数必须是一个序列

本例中创建一个二维数组表示九九乘法表:

import numpy
def func2(i,j):
    return (i+1)*(j+1)
a=numpy.fromfunction(func2,(9,9))

 

posted @ 2015-01-08 12:36  zibu1234  阅读(61178)  评论(0编辑  收藏  举报