Python数据分析(1)Matrix Manipulation

主要根据的是这学期修的一门data science and analysis课程里的lab,自己做完lab之后会反思一下自己学到的内容吧。

然后这周lab的话主要是用numpy来处理矩阵(毕竟numpy可以有效地处理数组)。

创建矩阵

np.zeros(k), np.ones(k) #一维矩阵
np.zeros((x,y)), np.ones((x,y)) #二维矩阵,x行y列
np.array(list) #将list转化为numpy array
np.copy(m)     #复制一份

以上是比较基本的,这里还有一个np.arange(stop)方法,可以创建一个0,1,2,…… ,stop-1的numpy array

矩阵的性质
np.shape(), m.shape #可以知道矩阵几行几列,比如m.shape = (2,2),就是二行二列,#一般可以利用这点来设置循环 np.size(), m.size   #可以知道矩阵里总共有多少个元素(行×列)
lab中创建矩阵的办法

其中有道题要求创建如下图的矩阵:

x_extend = np.column_stack((x,np.ones(x.shape[0],x.dtype)))

 用的是np.column_stack((第一列,第二列)),要注意括号的数量!!!

矩阵的运算

四则运算

批注:注意这里的矩阵乘法,和线性代数里的矩阵乘法不同,这里的矩阵是相同位置的元素相乘,要求两个矩阵的行和列都要相等。

转置运算

 简单来说就是两种方法吧~

解矩阵方程

矩阵点乘

第一,A.dot(B)和dot(A,B)表示AB。

第二,也是我觉得最神奇的一点,当v是vector的时候v.dot(A)竟然表示的是v的转置乘A(捂脸),竟然不用转置。。。如下:

按理说,S是2×3,X[i]是1×3,竟然不用转置的, 反正有点迷。也有可能是我考虑错了。

第三,求矩阵的逆的方法是np.linalg.inv(matrix)

第四,向量的外积,yysy,我没有见过(看以后会不会在实践中遇到吧)

求矩阵的逆

然后关于求矩阵的逆,有一点是建议不要求逆。。。accuracy - Practical example of why it is not good to invert a matrix - Computational Science Stack Exchange但比较神奇的是,这份lab里面解矩阵方程时还是用矩阵的逆来做的,,,

所以我也很好奇如果不用矩阵的逆怎么解方程。。。

 二次型的求法

python - How to vectorize the evaluation of bilinear & quadratic forms? - Stack Overflow

明天继续。。。 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/412552.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Security的使用条件

Spring Security要求使用Java 8或更高版本的运行时环境。 由于Spring Security旨在以自包含的方式运行,因此您无需在Java运行时环境中放置任何特殊的配置文件。特别是,您无需配置特殊的Java认证和授权服务(JAAS)策略文件&#xf…

iPhone为什么只有P大写?

不知道你有没有注意一个问题?iPhone为什么只有P大写? 这里面涉及一个程序猿才知道的奇怪的知识:“驼峰命名法”。驼峰命名法(Camel Case)是一种命名约定,通常用于编程和标识符命名。这种命名使得标识符看起…

zabbix监控平台(agent端)

引言:明人不说暗话,上一篇文章我们讲了zabbix的serrver端部署和配置,今天详细讲解一下agent端服务器(客户端)的配置和关联 1.进入官网 Zabbix:企业级开源监控解决方案 2.进入下载页面选择需要下载的版本信…

页面数据类型为json,后端接受json数据

项目结构 依赖pom.xml <dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.8.RELEASE</version></dependency><dependency><groupId>org.springframework…

一些面试会问到的奇怪问题与面试总结

1.v-for、v-if先后顺序。 官方不建议一起使用&#xff0c;但是有时候面试的时候会问到。 在vue2中是v-for先与v-if的。 源码js编译结果&#xff1a; _c()就是vm.$createElement()&#xff0c;意思是创建一个虚拟的element&#xff0c;就是返回值是VNode。 _l就是renderlist…

群晖Drive搭建云同步服务器结合内网穿透实现Obsidian笔记文件远程多端同步

文章目录 一、简介软件特色演示&#xff1a; 二、使用免费群晖虚拟机搭建群晖Synology Drive服务&#xff0c;实现局域网同步1 安装并设置Synology Drive套件2 局域网内同步文件测试 三、内网穿透群晖Synology Drive&#xff0c;实现异地多端同步Windows 安装 Cpolar步骤&#…

【设计模式之美】重构(三)之解耦方法论:如何通过封装、抽象、模块化、中间层等解耦代码?

文章目录 一. “解耦”概述二. 如何给代码“解耦”&#xff1f;1. 封装与抽象2. 中间层2.1. 引入中间层能**简化模块或类之间的依赖关系**。2.2. 引入中间层可以起到过渡的作用&#xff0c;能够让开发和重构同步进行&#xff0c;不互相干扰。 3. 模块化4. 其他设计思想和原则4.…

Android WiFi Service启动-Android13

Android WiFi Service启动 - Android13 1、SystemServer中入口2、WifiService启动2.1 关键类概要2.2 启动时序图 Android WiFi基础概览 AOSP > 文档 > 心主题 > WiFi概览 1、SystemServer中入口 编译生成对应的jar包&#xff1a;"/apex/com.android.wifi/javalib…

【时间复杂度】时间复杂度优化法则简讲

一、引言 时间复杂度是衡量算法运行效率的一项重要指标&#xff0c;它描述了随着输入规模的增加&#xff0c;算法的执行时间如何增长。在算法设计与分析中&#xff0c;我们经常面临着优化时间复杂度的任务&#xff0c;以便提高程序的性能。本博客将深入探讨时间复杂度的优化法…

Python——基本语法(二)

一、while 循环 语法&#xff1a; while 条件表达式:条件表达示为真&#xff0c;就执⾏这⾥的代码&#xff0c;必须缩进 4 个空格多⾏代码保持缩进⼀致 条件表达式可以是: True # 布尔值的 True 1 < 10 # 凡是在 if 语句中使⽤的判断表达示&#xff0c;这⾥都可以使…

(C++)大数计算问题

文章目录 一、实验目的、内容二、实验程序设计及结构1.需求分析类变量函数 2.设计结构或流程图 三、设计过程四、测试分析第一组第二组实验中出现的bug及解决方案 五、设计的特点和结果 一、实验目的、内容 大数是超过整数表示范围的整数&#xff0c;针对正整数运算&#xff0…

配置zabbix监控平台

目录 内容纯手敲&#xff0c;难免有误&#xff0c;若发现请私信我。 配置zabbix监控平台 一、进入官网 ​编辑​ 二、配置zabbix-server&#xff08;服务端&#xff09; 1.下载zabbix的yum源 2.安装Zabbix服务器、前端、代理 3.安装Zabbix前端 4.编辑文件/etc/yum.rep…