![4a9d7a9908640c927782462eac676341.png](https://i-blog.csdnimg.cn/blog_migrate/25bb023cffd3af0f9f0e8ee467eaf39f.jpeg)
Python数据分析入门日记Day4
——Numpy中的基础统计分析与线代运算
贪玩的我去乌镇玩嗨了,导致今天的推文又迟到了,在此要跟大家说一声抱歉。外出回来学习一下Numpy中的一些统计函数和关于线性代数的运算。说到统计分析与线代运算,条件反射想到的无非是求和、乘除运算、均值、中位数、方差计算等等。先从简单的元素来看。
1、元素级别的计算
(1)定义一个新数组arr11,用arange()函数和reshape()函数创建1~12组成的4×3的矩阵。
(2)用**表示乘方,对arr11中的每个元素进行平方。计算结果如下:
(3)用np.sqrt()对arr11中的每个元素开根号求值。
发现出现了“nan”值,这是因为在arr11中有的元素是负值,负值不能开根。
(4)以e为底,arr11中的每个元素为指数,求值:
(5)求对数,用np.log()函数:
(6)利用np.abs()函数对arr11中的每个元素取绝对值:
2、统计运算函数
(1)np.sum()
利用np.sum()函数对数组中的元素进行求和。
若想要对数组中的每一列求和,在括号中加入参数axis=0,如果需要对行求和,那么将0改为1即可。
(2)np.cumsum()
利用np.cumsum()累计和,注意:求数组arr11中元素的累计和的顺序是“从上到下,从左到右”,最终得到结果:
同样,若想要对数组中的每一列求累计和,在括号中加入参数axis=0,如果需要对行求累计和,那么将0改为1即可。
(3)np.cumprod()
函数np.cumprod()可以求数组中元素的累计积,用法如下:
如果想对行和列求累计积,和之前求累计和的方法一样,改变axis参数,大家可以自己试一试。
(4)np.min()和np.max()
很好理解,和R语言一样,在Numpy库中想要求得数组中的最小值和最大值,利用函数min()和max()。
那么,想要求每一列的最值,还是改变参数axis参数,举个例子:
(5)np.mean()
函数np.mean()用来求数组中元素的均值。
(6)np.median()
计算所用元素的中位数,用到函数np.median()。
(7)np.var()
学过计量和统计知识的同学一定知道方差就是var表示的,因此,这个函数很好理解,就是求元素的方差。
(8)np.std()
该函数用来计算元素的标准差,也可以通过改变参数axis的方法来求每一行或每一列的标准差:
(9)where()
该函数相当于Excel中的if函数。用法如下:
相当于为每个值写了一个标签,如果在数组arr11中的元素是大于0的,输出为“postive”,否则就是“negtive”.
3、线性代数的运算
(1)重新生成一个数组arr13:
(2)linalg库
从Numpy中的linalg库中提取函数,可以对矩阵进行一系列计算。具体计算如下:
求行列式:
求逆矩阵:
求迹:
求特征向量:
奇异值分解:
(3)np.dot()
np.dot()函数可以实现矩阵乘积运算,如果需要对两个arr13相乘,可以这样做:
矩阵相乘时并不是随便两个矩阵就能够实现的,现在定义数组arr14为一个3×4的矩阵,数组arr15为一个4×3的矩阵,使得它们相乘,也就是说,第二个矩阵的行数必须和前一个矩阵的列数相同。结果如下:
关于统计分析与线代运算的学习用到了很多之前学过的知识,如果有不懂的可以回顾一些学过的线代知识。感谢您关注Python数据分析日记Day4,我非常希望能和大家分享、交流、讨论,如果有什么问题或是建议,欢迎提出。
最后,跟大家分享几张昨日的乌镇美景,感谢摄影师薛同学,如果大家有意学习摄影,可以私信我或者在留言区交流一下哦!
Ovaltine
![165ebf939c81f6b069d7af885ba44e21.png](https://i-blog.csdnimg.cn/blog_migrate/78f0f586a39fa8da3033f4da41372221.jpeg)
![b36925b657328cf2f35de9119b5467da.png](https://i-blog.csdnimg.cn/blog_migrate/383c1b644278044fcb0b233588f54c4c.jpeg)
![3edd1651eae66f33bed7a073f58c522c.png](https://i-blog.csdnimg.cn/blog_migrate/cfdc74ee49c5d3504e575e142566452c.jpeg)
![bb95d34ee594f4034cd73215255e2f2a.png](https://i-blog.csdnimg.cn/blog_migrate/bed33ef1ddd73b47a8cf767a2691528a.jpeg)
摄影:薛亦诚