Python numpy库常用函数详解:矩阵转换、生成与运算

Elena
Elena
发布时间:2026-10-13 | 5人浏览过
原创

本文详细介绍Python中numpy库的几个核心函数,包括将列表转换为矩阵的mat函数,生成全0和全1数组的zeros与ones函数,创建单位矩阵的eye函数,以及矩阵转置.T、转为列表的tolist、转为数组的getA和求逆矩阵.I等常用操作,帮助开发者高效进行矩阵运算。

numpy库简介与核心函数概览

numpy库是Python进行数据分析和矩阵运算的重要工具,它赋予了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 

通过该函数,可以将一个普通的列表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方法用于将矩阵对象转换为Python的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,若存在矩阵B使得AB=I(I为单位矩阵),则B为A的逆矩阵。


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 相关产品和应用

全部下载

专题列表