NumPy是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
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]]
两个数组相加
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]
获取多维数组的值:
获取第一行的值,第一行第一列的值
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
其他补充:
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]
方法: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]]
方法: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]]
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 ]]
方法: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]]