Python Numpy
Numpy底层是用C写的,所以ndarray(np.array)运行速度比内置的list快,但是不能装下太多的东西。
简单介绍数组
np_list = np.array(lst, dtype=int)#设置数据类型
print(type(np_list))#输出类型
print(np_list.shape)#查看矩阵是几行几列
print(np_list.ndim)#查看矩阵维度
print(np_list.itemsize)#查看每个元素所占字节
print(np_list.size)#查看一共包含多少元素
#Rand 随机生成一个数
print(np.random.rand())
#Randint随机生成1到100的整数,生成5个
print(np.random.randint(1, 100, 5))
#Randn随机生成一个3*3的正态分布
print(np.random.randn(3, 3))
#Choice随机从数组中选取一个数
print(np.random.choice([12, 22, 44, 333, 55]))
#Distribute生成一个beta分布,生成20个数据
print(np.random.beta(1, 5, 20))
运用numpy 的运算
lst = np.arange(1, 11).reshape([2, -1])#将等差数列塑造成2行矩阵
print(lst)
print(np.exp(lst))#输出其exp
print(np.exp2(lst))
print(np.sqrt(lst))
print(np.sin(lst))
print(np.log10(lst))
lst = np.array([[[1, 2, 3, 4],
[5, 6, 7, 8]],
[[9, 10, 11, 12],
[13, 14, 15, 16]],
[[17, 18, 19, 20],
[21, 22, 23, 24]]])#构成一个三维矩阵
print(lst.sum(axis=0))#输出当系数为0的时候的和,为2*4
print(lst.sum(axis=1))#输出当系数为1的时候的和,为3*4
print(lst.sum(axis=2))#输出当系数为2的时候的和,为3*2
print(lst.max(axis=0))#同上,只是判断的是最大值的数组构成的矩阵
print(lst.min(axis=1))#同上,只是判断的是最小值的数组构成的矩阵
lst1 = np.array([10, 20, 30, 40])
lst2 = np.array([4, 3, 2, 1])
#一系列的加减乘除
print(lst1 + lst2)
print(lst1 - lst2)
print(lst1 / lst2)
print(lst1 * lst2)
print(lst1**2)
print(np.dot(lst1.reshape([2, 2]), lst2.reshape([2, 2])))#进行矩阵的点乘
print(np.concatenate((lst1, lst2), axis=0))#显示出一个单排的矩阵,axis最好是默认,形成一行
print(np.vstack((lst1, lst2)))#形成2行矩阵
print(np.hstack((lst1, lst2)))#形成单独一行矩阵
print(np.split(lst2, 2))将矩阵分割成两个
线性方程 print(np.eye(3))#获取单位矩阵
lst = np.array([[1, 2],
[3, 4]])
#求矩阵的逆
print(inv(lst))
#转置
print(lst.transpose())
#求行列式
print(det(lst))
#特征值和特征向量
print(eig(lst))
y = np.array([[5], [7]])
print(solve(lst, y))#已知一个矩阵和最后矩阵的解,求运算过程中的另一个矩阵值
#生成多元一次函数
print(np.poly1d([2, 1, 3]))