| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 【Python】numpy矩阵运算大全 -> 正文阅读 |
|
[Python知识库]【Python】numpy矩阵运算大全 |
文章目录前言??因为课程需要,第一次这么彻底地接触numpy。虽闻名已久,但是真正使用numpy才感受到它的强大,发现它尤其适合数据分析与处理。这里根据自己的使用经验简单总结一下numpy在矩阵运算中的应用,之后也会根据自己的实践经历不断更新。 0 遇事不决,先查官网,查着查着就查熟了
1 矩阵运算及其必要性??所谓的数据处理,其本质大都可以归为矩阵运算。因为需要处理的数据大都是矩阵或向量的形式,因此个人认为一个工具适不适合做数据处理,一个重要的指标的就是支不支持矩阵运算,因为如果没有矩阵运算,循环去处理一大堆数据势必会造成运行过长的问题。而这也是为什么很多人会推荐在使用python处理数据的时候不要用它自带的list,而要用numpy。
2 矩阵的创建2.1 普通矩阵??numpy中创建矩阵的方式非常单一,一般就是使用
如果要创建二维甚至多维矩阵,则可以利用中括号分隔,如下所示:
即中括号是分隔维度。
??此外,还需要注意的是,使用
2.2 特殊矩阵??和MATLAB一样,numpy也支持创建一些特殊矩阵:
3 矩阵的索引??python中的数据索引,不同的数据类型有不同的运算符。 3.1 str, list, tupple的索引??对这些python自带的数据类型,索引数据时除了单独索引某个数据外,剩下的就只需要了解冒号运算符即可。 再来总结一下上面的规律:上面的表达式 3.2 numpy索引??对于numpy的数组,其索引方式更加丰富。除了具有以上所有的索引方式外,numpy还多出一些索引方式,这里简单总结为三点:
4 矩阵的运算4.1 通用函数与广播机制??在学习numpy中矩阵运算规律前,最好要先了解一下numpy中的通用函数与广播机制。这也是贯穿numpy矩阵运算所有的重要内容。
??这里第一种情形比较好理解,关键在于理解第二种。需要明确的是,广播机制并适用于传入任意维度的参数,并不是简单粗暴地取公倍数。常见的有下面这4种类型。(
总结来看,两个向量能够应用广播机制的要求是在至少存在某一维,要么两个数值相等,要么有一个值为1
4.3 矩阵乘法??关于矩阵乘法,有两个概念很有意思,叫做矩阵叉乘和矩阵点乘。所谓叉乘就是一般的矩阵乘法,即前一个矩阵的列数要等于后一个矩阵的行数;而所谓矩阵点乘就是矩阵中每个对应元素相乘,要求两个矩阵同型,乘出来的矩阵大小不变。考虑到这两种运算非常常见,这里做了一个表,来对比python和MATLAB
4.4 矩阵求逆
4.5 矩阵转置??对numpy的数组,想要实现转置非常简单,直接在矩阵的后面加上 4.6 向量合并??在进行数据处理时,经常会遇到一种需求那就是将多个列表合并成为一个矩阵。 如果想要合成为一个矩阵,即列表的列表,也非常简单,直接用中括号连接即可。如下所示。 ??再来看看numpy是怎么实现的。 除此之外,还可以使用其自带的 4.7 形状变换??在numpy中,如果想要只改变矩阵的形状而不改变数据时,可以使用
??值得一提的是,第二种直接修改的方式在传参时,是支持解包的,即可以传 4.8 方阵的行列式和秩??在numpy中也可以求方阵的行列式和秩,其函数包含在其线性代数库 4.9 方阵的迹??所谓方阵的迹,是指主对角线元素之和,在numpy中使用方式如下所示。 4.10 解线性方程??在numpy中还可以解线性方程,对于形式如
A
X
=
b
AX=b
AX=b的线性方程,使用numpy解方程的方式如下所示。 5 其他边角知识 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/19 2:31:11- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |