numpy库
1 ndarray:N维矩阵(N维数组)
相对于列表的优势和作用:
1、方便处理多维数组或矩阵之前的运算
2、处理多维数组或矩阵时,运算效率很高(因底层为C++)
import numpy as np
nparr = np.array(list(range(10)))
#nparr为整形一维数组矩阵
arr2 = np.array([1,2,3.4])
#列表中有浮点数,则arr2为浮点型一维矩阵
arr3 = np.array([1,2,3],dtype=float)
#arr3强制指向浮点型
ndim方法返回矩阵维度
shape方法返回几行几列
size方法返回矩阵中元素个数*
2 arange
类似列表的range功能,可快速生成矩阵
a = np.arange(10)**2 #生成从0的平方-9的平方的一维矩阵
b= np.arange(1,11) **3 #生成从1的立方-10的立方的一维矩阵
c= a+b #矩阵相加
print(c)
[ 1 9 31 73 141 241 379 561 793 1081]
可以以小数为步径
d = np.arange(2,10,0.3)
print(d)
[2. 2.3 2.6 2.9 3.2 3.5 3.8 4.1 4.4 4.7 5. 5.3 5.6 5.9 6.2 6.5 6.8 7.1 7.4 7.7 8. 8.3 8.6 8.9 9.2 9.5 9.8]
3 初始化矩阵
3.1 zeros 初始元素为0
arr4 = np.zeros(shape=(3,6),dtype=int)
print(arr4)
[[0 0 0 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]]
#3行6列整形矩阵,若不约定dtype则为浮点型
3.2 ones 初始元素为1
arr4 = np.ones(shape=(3,6),dtype=int)
print(arr4)
[[1 1 1 1 1 1]
[1 1 1 1 1 1]
[1 1 1 1 1 1]]
3.3 full 指定初始元素值
arr5 = np.full((3,6),2,dtype=float)
print(arr5)
[[2. 2. 2. 2. 2. 2.]
[2. 2. 2. 2. 2. 2.]
[2. 2. 2. 2. 2. 2.]]
#不可用shape定义矩阵维度
3.4 linspace 等差数列
arr6 = np.linspace(1,15,5)
print(arr6)
[ 1. 4.5 8. 11.5 15. ]
#从1-15生成5个数的等差数列一维矩阵
4 生成随机数
np.random.seed(10) #随机数种子,控制随机数每次都是相同的
arr7 = np.random.randint(1,20,size=(3,4)) #随机生成3行4列在1-20之间的整形矩阵
print(arr7)
[[10 5 16 1]
[18 17 18 9]
[10 1 11 9]]
arr8 = np.random.random((2,5)) #0-1之间的浮点
print(arr8)
[[0.15037787 0.68381843 0.81660184 0.33607158 0.89081653]
[0.19812181 0.03061665 0.87761494 0.72743551 0.54088093]]