登录
首页精彩阅读Python里面的矩阵与矢量化运算
Python里面的矩阵与矢量化运算
2017-05-11
收藏

Python里面的矩阵与矢量化运算

Python在数据挖掘数据分析中用的很多。最基础的矩阵与矢量化运算需要掌握。

需要下载安装的包:Numpy

Windows下cmd窗口输入以下命令即可成功安装

>pip install numpy
1、创建矩阵
>>> from numpy import *
>>> a = mat([[1,2],[3,4]])
>>> a
matrix([[1, 2],
       [3, 4]])
>>> b = [1,2,3,4]
>>> b = mat(b)
>>> type(b)
如果不是用的from numpy import *,而是import numpy as np
>>> b = [1,2,3,4]
>>> b = np.mat(b)
>>> type(b)
2、生成随机矩阵
>>> c = random.rand(3,5)
>>> c
array([[ 0.64604414, 0.45126794, 0.73007667, 0.15882401, 0.05607741],
      [ 0.10858948, 0.82678284, 0.66219831, 0.8357802 , 0.67448717],
      [ 0.74783459, 0.13746508, 0.99414465, 0.63919601, 0.80849361]])
生成3x4的全一矩阵
>>> d = ones([3,4])
>>> d
array([[ 1., 1., 1., 1.],
      [ 1., 1., 1., 1.],
      [ 1., 1., 1., 1.]])
3、矩阵的元素运算
>>> 5*d
array([[ 5., 5., 5., 5.],
      [ 5., 5., 5., 5.],
      [ 5., 5., 5., 5.]])
矩阵与矩阵的乘法还是要遵循线性代数的法则,第一个矩阵的列数与第二个矩阵的行数要相同,这里就不赘述了。
4、矩阵的切片
>>> c
array([[ 0.64604414, 0.45126794, 0.73007667, 0.15882401, 0.05607741],
      [ 0.10858948, 0.82678284, 0.66219831, 0.8357802 , 0.67448717],
      [ 0.74783459, 0.13746508, 0.99414465, 0.63919601, 0.80849361]])
取第一行
>>> c[0]
array([ 0.64604414, 0.45126794, 0.73007667, 0.15882401, 0.05607741])
取第一列,原理是先对矩阵进行转置,再取第一行,就是原矩阵的第一列了。
>>> c.T[0]
array([ 0.64604414, 0.10858948, 0.74783459])
5、矩阵的线性代数运算
>>> a
matrix([[1, 2],
       [3, 4]])
(1)、行列式
>>> linalg.det(a)
-2.0000000000000004
(2)矩阵的逆
>>> linalg.inv(a)
matrix([[-2. , 1. ],
       [ 1.5, -0.5]])
(3)、矩阵的转置
>>> a.T
matrix([[1, 3],
       [2, 4]])
(4)、矩阵的秩
>>> linalg.matrix_rank(a)
2
(5)、可逆矩阵对应线性方程求解
>>> linalg.solve(a,B)
array([-1., 1.])
a对应稀疏矩阵,B对应右端项的非齐次方程的解,即为【-1,1】。


数据分析咨询请扫描二维码

客服在线
立即咨询