NumPy 学习笔记二
笔记来源:python数据分析【Ivan Idris著, 韩波译】
一、用NumPy进行线性代数运算【numpy.linalg包】
1、用NumPy求矩阵的逆
(1) 创建一个矩阵【np.mat()函数】
(2) 求矩阵的逆【np.linalg.inv()函数】
(3) 乘法检验
相乘结果发现,得到的是一个单位矩阵,但是还存在一些小误差,要获取误差,可如下操作
2、用NumPy求解线性方程组【使用np.linalg的solve()求解类似Ax=b线性方程组】
(1)创建矩阵A和数组b
(2)求解线性方程组(np.linalg.solve())
(3) 使用dot()函数进行验算
3、用NumPy计算特征值和特征向量
特征值是方程式Ax=ax的标量解,其中A为一个二维矩阵,而x是一维向量,x是特征值a对应的特征向量
(1)数学上的求解示例:
(2)使用numpy.linalg包求解
1)创建矩阵
2)使用eigvals()函数求解特征值
3)使用eig()函数获取特征值与特征向量【返回两个值,第一个元素为特征值,第二个为特征向量】
4)验算求解的结果
由上述结果可知,左边A*x与右边a*x是相等的,说明求解无误。
二、NumPy随机数
随机数常用于蒙特卡洛法、随机积分等方面。真正的随机数很难得到,一般实际获取的是伪随机数。大部分情况下,伪随机数满足我们的需求。对于NumPy,与随机数有关的函数在random子程序包中。NumPy核心的随机数发生器是基于梅森算法而来的。
1、用二项分布进行博弈
每次运行程序结果都不同,若要总是得到相同的结果,则需给NumPy的随机数子程序包中的binomial()函数的一个种子值.
2、正态分布采样
(1) 一维正态分布即标准正态分布定义【百度百科】
(2)使用NumPy的random子模块的normal()函数,将正态分布以直观的形势图示出来
参考:
[1]. Ivan Idris. 著; 韩波译.python数据分析[M]. 北京:人民邮电出版社,2016.2.
[2]. 百度百科; 正态分布[DB/OL]. https://baike.baidu.com/item/%E6%AD%A3%E6%80%81%E5%88%86%E5%B8%83/829892?fr=aladdin
[3].百度经验;线性代数:如何求特征值和特征向量?[DB/OL]. https://jingyan.baidu.com/article/27fa7326afb4c146f8271ff3.html
weixin_45959085: 这个类别怎样实现
yuxingyue123: 可以提供一下源代码吗?
yuxingyue123: 请问如何保存到mysql当中?
HEERY551 回复 UM.: 嗯嗯,python主要的方向一般是爬虫、数据分析、算法、web开发等,是一种小语言,最好还是要学一门大语言(比如java、C、C++等)相对就业面会更广一些,而已如果学好这种大语言、python就特别容易上手。如果非要学python的话,建议学的要深一些、如网络编程、web开发、数据这一块都得了解些。python开发就需得需要掌握这些、其次python开发的岗位现在也不多。其实各有各的好,最好是自己选择后自己的路。
UM.: 问一下py(找)秋招挺难的吧,靠py和一点c估计真的不好找到秋招吧