NumPy是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
1.numpy的导入2.创建指定值的数组Numpy是一个第三方库,所以我们需要在python中导入,直接用import numpy就可以导入。
我们可以使用import numpy as np 来用 np 作为别名
方法:np.array()
具体使用:
import numpy as np # 创建一个数组 a = np.array([1,2,3]) print(a)
运行结果:(np的数组没有用逗号,分隔,而是用的空格来分隔)
[1 2 3]
创建多维数组
import numpy as np #创建一个二维数组 a1 = np.array([[1,2,3],[4,5,6]]) #创建一个三维数组 a2 = np.array([[1,2,3],[4,5,6],[7,8,9]]) print(a1) print(a2)
[[1 2 3] [4 5 6]] [[1 2 3] [4 5 6] [7 8 9]]3.数组操作
两个数组相加
import numpy as np # 创建一个数组 a1 = np.array([1,2,3]) a2 = np.array([4,5,6]) print(a1+a2)
[5 7 9]
数组相乘一个数
import numpy as np a1 = np.array([1,2,3]) print(a1*2)
[2 4 6]
获得数组的n次方
import numpy as np a1 = np.array([1,2,3]) print(a1**3)
[ 1 8 27]4.数组元素值获取
获取多维数组的值:
获取第一行的值,第一行第一列的值
import numpy as np #创建一个三维数组 a1 = np.array([[1,2,3],[4,5,6],[7,8,9]]) #打印第一行的值 print(a1[0]) #打印第一行第一列的值 print(a1[0][0])
[1 2 3] 1
查看数组是几行几列:
方法: shape
import numpy as np #创建一个三维数组 a1 = np.array([[1,2,3],[4,5,6],[7,8,9]]) #获得行和列的值 print(a1.shape)
(3, 3)
获取数组的最小值和最大值:
最小值:min()
最大值:max()
import numpy as np #创建一个三维数组 a = np.array([[1,2,3],[4,5,6],[7,8,9]]) #获取最小值 print(a.min()) #获取最大值 print(a.max())
1 9
5.创建特殊数组方法 5.1生成一个指定类型的数组其他补充:
a.T —— 矩阵转置
a.shape —— 数据有几行几列 (3, 3)
a.dtype —— 数组内的数据类型 int32
a.ndim 维度 —— 2
a.size元素个数 —— 9
a.itemsize 每个元素的长度 —— 4
a.nbytes 数组所有元素长度 —— 36
import numpy as np #从0开始生成5个数作为数组元素,默认步长为1 a1 = np.arange(5) print(a1)
[0 1 2 3 4]
可以指定开始数组开始的值和步长
import numpy as np #从2开始,步长为2,生成小于10的数作为数组的元素 v = np.arange(2,10,2) print(v)
[2 4 6 8]5.2生成一个指定结构的所有元素都为0的数组
方法:zeros()
import numpy as np #生成一个3x3的元素为0的数组 m = np.zeros((3,3),dtype=np.int32)# print(m)
[[0 0 0] [0 0 0] [0 0 0]]5.3生成一个指定结构的所有元素都为1的数组
方法:ones()
import numpy as np #生成一个3x3的元素为1的数组 m = np.ones((3,3),dtype=np.int32) print(m)
[[1 1 1] [1 1 1] [1 1 1]]5.4生成一个元素随机数字的指定结构的数组
import numpy as np #随机生成一个3x3的矩阵 m = np.random.random((3,3)) print(m)
[[0.42283499 0.6434965 0.53449619] [0.22793167 0.2804948 0.6261363 ] [0.00640404 0.48855814 0.7875288 ]]5.5生成一个数组,元素为等间隔的值
方法:np.linspace(范围开始,范围结束,平均取多少个数)
import numpy as np a = np.linspace(0,10,9) print(a)
[ 0. 1.25 2.5 3.75 5. 6.25 7.5 8.75 10. ]
补充:矩阵和数组的区别:
1.维度方面:数组可以是多维的,矩阵只能是二维的
2.元素类型方面:数组的元素可以是字符串,数字等,矩阵的值只能是数字
所以:
在python中创建数组需要先创建一个列表,np.array(列表) 方法是将列表转换为数组。数组转换为矩阵需要使用np.mat(数组)方法,若要将数组或者矩阵转换成列表,则需要使用tolist(数组/矩阵)方法
具体实现:
import numpy as np # 将列表转换为数组 a = np.array([[1,2,3],[4,5,6]]) print(a) # 将数组转换为矩阵 b =np.mat(a) print(b) # 将矩阵转换成列表 c = b.tolist() print(c)
[[1 2 3] [4 5 6]] [[1 2 3] [4 5 6]] [[1, 2, 3], [4, 5, 6]]



