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