Python的numpy库下的几个小函数的用法(小结)

@本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府

numpy库是Python进行数据分析和矩阵运算的一个非常重要的库,可以说numpy让Python有了matlab的味道


本文主要介绍几个numpy库下的小函数。

1、mat函数

mat函数可以将目标数据的类型转换为矩阵(matrix)

import numpy as np
 
>>a=[[1,2,3,],
 
   [3,2,1]]
 
>>type(a)
 
>>list
 
  
>>myMat=np.mat(a)
 
>>myMat
 
>>matrix([[1,2,3],[3,2,1]])
 
  
 
>>type(myMat)
 
>>numpy.matrixlib.defmatrix.martix 

因此可以使用mat函数将一个列表a转换成相应的矩阵类型。

2、zeros

zeros函数是生成指定维数的全0数组

>>myMat=np.zeros(3)  ###生成一个一维的全0数组
>>print(myMat)
>>array([0.,0.,0.])
 
 
>>myMat1=np.zeros((3,2)) ####生成一个3*2的全0数组
>>print(myMat)
>>array([[0.,0.],
    [0.,0.]
    [0.,0.]])  

3、ones

ones函数是用于生成一个全1的数组

>>onesMat=np.ones(3)  ###1*3的全1数组
>>print(onesMat)
>>array([1.,1.,1.])
 
 
 
>>onesMat1=np.ones((2,3))  ###2*3的全1数组
>>print(onesMat1)
>>array([[1.,1.,1.],[1.,1.,1.]])

4.eye

eye函数用户生成指定行数的单位矩阵

>>eyeMat=np.eye(4) 
>>print(eyeMat)
>>array([[1.,0.,0.,0.],
    [0.,1.,0.,0.],
    [0.,0.,1.,0.,],
    [0.,0.,0.,1.]])

5、.T

.T作用于矩阵,用作球矩阵的转置

>>myMat=np.mat([[1,2,3],[4,5,6]])
>>print(myMat)
>>matrix([[1.,2.,3.]
     [4.,5.,6.]])
 
 
>>print(myMat.T)
>>matrix([[1,4][2,5],
     [3,6]])   

6、tolist

tolist函数用于把一个矩阵转化成为list列表

>>x=np.mat([[1,2,3],[4,5,6]])
 
>>print(x)
 
>>matrix([[1,2,3],[4,,5,6]])
 
>>type(x)
 
>>matrix
 
  
 
  
 
>>x.tolist()
 
>>[[1,2,3],[4,5,6]] 

7.getA()

getA()函数是numpy.matrix下的一个函数,用作把矩阵转换成数组,等价于np.asarray(self).

>>> x = np.matrix(np.arange(12).reshape((3,4))); x
 
matrix([[ 0, 1, 2, 3],
 
    [ 4, 5, 6, 7],
 
    [ 8, 9, 10, 11]])
 
>>> x.getA()
 
array([[ 0, 1, 2, 3],
 
    [ 4, 5, 6, 7],
 
    [ 8, 9, 10, 11]]) 

8. .I

.I用作求矩阵的逆矩阵。逆矩阵在计算中是经常需要用到的。例如一个矩阵A,求A的逆矩阵B,即存在矩阵B是的AB=I(I为单位)

In [3]: a=mat([[1,2,3],[4,5,6]])
 
  
 
In [4]: a
 
Out[4]:
 
matrix([[1, 2, 3],
 
    [4, 5, 6]])
 
  
 
  
 
In [5]: a.I
 
Out[5]:
 
matrix([[-0.94444444, 0.44444444],
 
    [-0.11111111, 0.11111111],
 
    [ 0.72222222, -0.22222222]])
 
In [6]: s=a.I 
 
In [8]: a*s
 
Out[8]:
 
matrix([[ 1.00000000e+00,  3.33066907e-16],
 
    [ 0.00000000e+00,  1.00000000e+00]]) 

非常感谢你的阅读
大学的时候选择了自学python,工作了发现吃了计算机基础不好的亏,学历不行这是没办法的事,只能后天弥补,于是在编码之外开启了自己的逆袭之路,不断的学习python核心知识,深入的研习计算机基础知识,整理好了,我放在我们的微信公众号《程序员学府》,如果你也不甘平庸,那就与我一起在编码之外,不断成长吧!

其实这里不仅有技术,更有那些技术之外的东西,比如,如何做一个精致的程序员,而不是“屌丝”,程序员本身就是高贵的一种存在啊,难道不是吗?[点击加入]想做你自己想成为高尚人,加油!

原创文章 45 获赞 49 访问量 14万+

猜你喜欢

转载自blog.csdn.net/daidaiweng/article/details/106028194
今日推荐