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