浅谈python的第三方库——numpy(终)
本文作为numpy系列的总结篇,继续介绍numpy中常见的使用小贴士
1 手动转换矩阵规格
转换矩阵规格,就是在保持原矩阵的元素数量和内容不变的情况下,改变原矩阵的行列数目。比如,在得到一个5x4的矩阵后,出于某种要求,需要将其转成大小为10x2的矩阵,这时就可以利用内置方法实现此功能。

上图中,使用方法reshape将一个4x3的矩阵转换为一个2x6的矩阵。需要注意的是,转换后的矩阵与原矩阵在元素顺序的排列上具有某种一致性,即将矩阵的元素逐行排列成一个列表,则两矩阵对应的列表是相同的。
reshape的特别参数:

若使用reshape(-1,1),则会将含有n个元素的矩阵转成一个n行1列的列向量形式。
2 快捷生成多维数组
在熟悉某些方法之初或是在代码调试阶段,通常会需要快速生成一些变量以作示例,若需要用到numpy中的矩阵或多维数组,则可以参照下图示例:

例中,先通过方法arange生成所需元素数目的一维数组,再通过前面介绍的reshape方法将其转成指定规格的矩阵。
系列总结
关于python的numpy库,笔者就介绍这么些,诚然这些只是numpy的冰山一角,其中还有许多有意思的方法与函数等待诸位去发现。
致歉声明
由于笔者也是一边学习,一边撰写博文,其中难免出现知识性的错误。在编辑numpy系列的最后一篇文章即本文时,笔者发现numpy中真正的矩阵其实是不同于前几期博文中笔者笔下的“多维数组”,严格来说,几乎笔者numpy系列文章的所有矩阵词眼,其实是numpy的多维数组的概念。不好意思给诸位带来误解。
虽说矩阵与多维数组相似,但在numpy中还是有明显区别的,具体细节读者可以参考以下这篇文章:
https://www.cnblogs.com/wenshinlee/p/11694885.html
浅谈python的第三方库——numpy(终)的更多相关文章
- 浅谈python的第三方库——numpy(一)
python作为广受欢迎的一门编程语言,其中很重要的一个原因便是它可以使用很多第三方库. 对第三方库的理解,在笔者看来就是一些python爱好者和专门的研发机构,为满足某一特定应用领域的需要,使用py ...
- 浅谈python的第三方库——numpy(三)
numpy库中矩阵的常用方法 1 矩阵转置 从上图可以看出:使用方法a.T可以将矩阵a转置. 2 均值与方差 注意:方法a.mean()会对矩阵a的所有元素求均值,a.var()也是考虑矩阵a的所有元 ...
- 浅谈python的第三方库——numpy(二)
前一期博文中,初步探索了numpy中矩阵的几种运算操作,本文将展示numpy矩阵的元素抽取与合并操作. 1 元素抽取 在我们使用矩阵的时候,有时需要提取出矩阵的某些位置上的元素单独研究,这时就需要熟悉 ...
- 浅谈python的第三方库——pandas(一)
pandas作为python进行数据分析的常用第三方库,它是基于numpy创建的,使得运用numpy的程序也能更好地使用pandas. 1 pandas数据结构 1.1 Series 注:由于pand ...
- 浅谈python的第三方库——pandas(终)
作为pandas系列的最终章,本文引出一个数据"复制"问题. 示例如下: 从上图中可以看到:我们对data_pd做了删除一行的操作,但是这并没有改变变量data_pd在内存中的值, ...
- 浅谈python的第三方库——pandas(三)
令笔者对pandas印象最为深刻的一件事,就是在pandas中已经内置了很多数据导入导出方法,然而本人并不了解,在一次小项目的工作中曾手写了一个从excel表格导入数据到DataFrame的pytho ...
- 浅谈python的第三方库——pandas(二)
pandas使用小贴士 1 通过Series创建DataFrame 在pandas系列的第一篇博文中曾提到,Series可视为DataFrame的一种特例,即只有一列数据.既然如此,是否可以并列多个S ...
- 浅谈python中selenium库调动webdriver驱动浏览器的实现原理
最近学web自动化时用到selenium库,感觉很神奇,遂琢磨了一下,写了点心得. 当我们输入以下三行代码并执行时,会发现新打开了一个浏览器窗口并访问了百度首页,然而这是怎么做到的呢? from se ...
- python安装第三方库报错visual c++ 14.0 is required
使用python安装第三方库时报错如下: error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ ...
随机推荐
- tomcat 持久区溢出
知识点:堆内存设置(JVM堆内存)java的堆内存分为两块:permantspace(持久带) 和 heap spaceOOM1.年老代溢出,表现为:java.lang.OutOfMemoryErro ...
- 【WPF学习】第三十三章 高级命令
前面两章介绍了命令的基本内容,可考虑一些更复杂的实现了.接下来介绍如何使用自己的命令,根据目标以不同方式处理相同的命令以及使用命令参数,还将讨论如何支持基本的撤销特性. 一.自定义命令 在5个命令类( ...
- SpringBoot学习(3) - jdbc
数据库使用MySQL 5.7.18版本. 装配DataSource的步骤:1.加入数据库驱动 pom.xml: <project xmlns="http://maven.apache. ...
- LR中解决接口请求中包含中文字符,服务器不识别的问题
在LR中,直接写的接口请求,如果请求字段包含中文字段,服务器会不识别,这个时候就要用到lr_convert_string_encoding这个函数: 具体用法: lr_convert_string_e ...
- pycham设置头文件内容
pycharm软件 设置头文件方法 File->settings->Editor->File and Code Templates->Python Script #!/usr ...
- 从零开始学习redis源码
2020的开年是比较艰难的,爆发了肺炎疫情,希望大家多注意安全,也希望疫情早日好转! 以3.2版本的源码为例,开始讲解,有时会贴出源码,进行说明,并会注明源码出处. 数据库 应该都知道默认redis会 ...
- caffe 指定GPU
caffe默认使用编号为0的gpu, 若它的内存不够或正忙, 即使有其余gpu空闲, caffe也不会使用. 要用哪个gpu, 就要明确指定哪个. 不指定则使用默认. 命令行 ./build/tool ...
- Sklearn--(SVR)Regression学习笔记
今天介绍一个机器学习包,sklearn.其功能模块有regression\classification\clustering\Dimensionality reduction\data preproc ...
- C#开源组件DocX处理Word文档基本操作(一)
C#中处理Word文档,是大部分程序猿绕不过的一道门.小公司或一般人员会选择使用开源组件.目前网络上出现的帖子,大部分是NPOI与DocX,其它的也有.不啰嗦了,将要使用DocX的基本方法贴出来,供参 ...
- C#开源组件DocX版本区别点滴
在C#中,需要处理Office Word文档时,由于MsOffice Com的版本局限性,所以选择不与本机MsOffice安装与否或安装版本相关的软件,以便软件或使用时的通用性与版权限制,特别是对于国 ...