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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM