numpy 库常见函数的介绍
<1>. numpy创建数组
1. 从已有数据中创建数组
a. 将列表转换成 ndarray:
1 import numpy as np 2 ls1 = [10, 42, 0, -17, 30] 3 nd1 =np.array(ls1) 4 print(nd1) 5 print(type(nd1))
显示结果:
1 [ 10 42 0 -17 30] 2 <class ‘numpy.ndarray‘>
b.嵌套列表可以转换成多维 ndarray:
1 [[ 8 -2 0 34 7] 2 [ 6 7 8 9 10]] 3 <class ‘numpy.ndarray‘>
2. 利用 random 模块生成数组
几种 np.random 模块中常用的方法,如下表所示:
下面来看一些使用:
1 import numpy as np 2 import random 3 nd3 =np.random.random([4, 3]) #生成4行3列的数组 4 print(nd3) 5 print("nd3的形状为:",nd3.shape)
执行结果:
1 [[0.59115057 0.52022516 0.05992361] 2 [0.5077815 0.81313999 0.70061259] 3 [0.24654561 0.11705634 0.71399966] 4 [0.73964407 0.57138345 0.89284498]] 5 nd3的形状为: (4, 3)
3. 创建特定形状的多维数组
参数初始化时,有时需要生成一些特殊矩阵,如全是 0 或 1 的数组或矩阵,这时我们可以利用 np.zeros、np.ones、np.diag 来实现,如下表所示。
1 import numpy as np 2 # 生成全是 0 的 3x3 矩阵 3 nd5 =np.zeros([3, 3]) 4 # 生成全是 1 的 3x3 矩阵 5 nd6 = np.ones([3, 3]) 6 # 生成 4 阶的单位矩阵 7 nd7 = np.eye(4) 8 # 生成 4 阶对角矩阵 9 nd8 = np.diag([1, 8, 3, 10]) 10 print("nd5 =\n", nd5) 11 print("nd6 =\n", nd6) 12 print("nd7 =\n", nd7) 13 print("nd8 =\n", nd8)
1 nd5 = 2 [[0. 0. 0.] 3 [0. 0. 0.] 4 [0. 0. 0.]] 5 nd6 = 6 [[1. 1. 1.] 7 [1. 1. 1.] 8 [1. 1. 1.]] 9 nd7 = 10 [[1. 0. 0. 0.] 11 [0. 1. 0. 0.] 12 [0. 0. 1. 0.] 13 [0. 0. 0. 1.]] 14 nd8 = 15 [[ 1 0 0 0] 16 [ 0 8 0 0] 17 [ 0 0 3 0] 18 [ 0 0 0 10]]
4. 利用 arange() 和 linspace() 函数生成数组
arange() 是 numpy 模块中的函数,其格式为:
1 arange([start,] stop[,step,], dtype=None)
其中,start 与 stop 用来指定范围,step 用来设定步长。在生成一个 ndarray 时,start 默认为0,步长 step 可为小数。Python 有个内置函数 range,其功能与此类似:
1 import numpy as np 2 print(np.arange(10)) 3 print(np.arange(0, 10)) 4 print(np.arange(1, 4, 0.5)) 5 print(np.arange(9, -1, -1))
1 [0 1 2 3 4 5 6 7 8 9] 2 [0 1 2 3 4 5 6 7 8 9] 3 [1. 1.5 2. 2.5 3. 3.5] 4 [9 8 7 6 5 4 3 2 1 0]
原文:https://www.cnblogs.com/wzl0727/p/14017930.html