例子卡片2:生成数组的4个常用函数

对于更大的数组,手动初始化数据是不现实的,比如使用python的list. 我们得用numpy提供的函数才能生成不同形式的数组。

今天列举4个常用的函数。

arange函数

arange函数:起始点,终点,步长;不包括终点

In [2]: x = arange(0,10,1)
In [3]: x
Out[3]: array([0123456789])

In [4]: x = arange(-110.1)
In [5]: x
Out[5]:
array([-1.00000000e+00, -9.00000000e-01, -8.00000000e-01, -7.00000000e-01,
       -6.00000000e-01, -5.00000000e-01, -4.00000000e-01, -3.00000000e-01,
       -2.00000000e-01, -1.00000000e-01, -2.22044605e-16,  1.00000000e-01,
        2.00000000e-01,  3.00000000e-01,  4.00000000e-01,  5.00000000e-01,
        6.00000000e-01,  7.00000000e-01,  8.00000000e-01,  9.00000000e-01])

linspace函数

linspace函数:起始点,终点生成函数,分割份数;包括终点

php生成随机数函数_orcle随机生成编号函数_生成函数

In [5]linspace(0,10,5)
Out[5]array([ 0. ,  2.5,  5. ,  7.5, 10. ])

logspace函数

php生成随机数函数_orcle随机生成编号函数_生成函数

logspace函数:如下例子,各项分别为 e^1生成函数,e^2, e^3,…e^10

In [17]: logspace(11010, base=e)
Out[17]:
array([2.71828183e+007.38905610e+002.00855369e+015.45981500e+01,
       1.48413159e+024.03428793e+021.09663316e+032.98095799e+03,
       8.10308393e+032.20264658e+04])

生成函数_orcle随机生成编号函数_php生成随机数函数

mgrid函数

mgrid函数,实际工作中也很有用,在这里我列举一个

In [18]: x,y = mgrid[0:5,0:5]

In [19]: x
Out[19]:
array([[0, 0, 0, 0, 0],
       [1, 1, 1, 1, 1],
       [2, 2, 2, 2, 2],
       [3, 3, 3, 3, 3],
       [4, 4, 4, 4, 4]]
)

In [20]: y
Out[20]:
array([[0, 1, 2, 3, 4],
       [0, 1, 2, 3, 4],
       [0, 1, 2, 3, 4],
       [0, 1, 2, 3, 4],
       [0, 1, 2, 3, 4]]
)

这是基本用法,完全看不出干啥。如果我有10个点,想要得出这10个点的两两间距离:

x,y = mgrid[0:5,0:5]
In [28]: list(map(lambda xe,ye: [(ex,ey) for ex, ey in zip(xe, ye)], x,y))
Out[28]:
[[(0, 0), (0, 1), (0, 2), (0, 3), (0, 4)],
 [(1, 0), (1, 1), (1, 2), (1, 3), (1, 4)],
 [(2, 0), (2, 1), (2, 2), (2, 3), (2, 4)],
 [(3, 0), (3, 1), (3, 2), (3, 3), (3, 4)],
 [(4, 0), (4, 1), (4, 2), (4, 3), (4, 4)]]