本文作为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(终)的更多相关文章

  1. 浅谈python的第三方库——numpy(一)

    python作为广受欢迎的一门编程语言,其中很重要的一个原因便是它可以使用很多第三方库. 对第三方库的理解,在笔者看来就是一些python爱好者和专门的研发机构,为满足某一特定应用领域的需要,使用py ...

  2. 浅谈python的第三方库——numpy(三)

    numpy库中矩阵的常用方法 1 矩阵转置 从上图可以看出:使用方法a.T可以将矩阵a转置. 2 均值与方差 注意:方法a.mean()会对矩阵a的所有元素求均值,a.var()也是考虑矩阵a的所有元 ...

  3. 浅谈python的第三方库——numpy(二)

    前一期博文中,初步探索了numpy中矩阵的几种运算操作,本文将展示numpy矩阵的元素抽取与合并操作. 1 元素抽取 在我们使用矩阵的时候,有时需要提取出矩阵的某些位置上的元素单独研究,这时就需要熟悉 ...

  4. 浅谈python的第三方库——pandas(一)

    pandas作为python进行数据分析的常用第三方库,它是基于numpy创建的,使得运用numpy的程序也能更好地使用pandas. 1 pandas数据结构 1.1 Series 注:由于pand ...

  5. 浅谈python的第三方库——pandas(终)

    作为pandas系列的最终章,本文引出一个数据"复制"问题. 示例如下: 从上图中可以看到:我们对data_pd做了删除一行的操作,但是这并没有改变变量data_pd在内存中的值, ...

  6. 浅谈python的第三方库——pandas(三)

    令笔者对pandas印象最为深刻的一件事,就是在pandas中已经内置了很多数据导入导出方法,然而本人并不了解,在一次小项目的工作中曾手写了一个从excel表格导入数据到DataFrame的pytho ...

  7. 浅谈python的第三方库——pandas(二)

    pandas使用小贴士 1 通过Series创建DataFrame 在pandas系列的第一篇博文中曾提到,Series可视为DataFrame的一种特例,即只有一列数据.既然如此,是否可以并列多个S ...

  8. 浅谈python中selenium库调动webdriver驱动浏览器的实现原理

    最近学web自动化时用到selenium库,感觉很神奇,遂琢磨了一下,写了点心得. 当我们输入以下三行代码并执行时,会发现新打开了一个浏览器窗口并访问了百度首页,然而这是怎么做到的呢? from se ...

  9. python安装第三方库报错visual c++ 14.0 is required

    使用python安装第三方库时报错如下: error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ ...

随机推荐

  1. AS中加载gradle时出现Gradle sync failed: Could not find com.android.tools.build:gradle.的错误

    时间:2019/12/7 这次接着整理加载gradle时出现的错误 出现的错误: Gradle sync failed: Could not find com.android.tools.build: ...

  2. 并发队列之PriorityBlockingQueue

    这一篇说一下PriorityBlockingQueue,引用书中的一句话:这就是带优先级的无界阻塞队列,每次出队都返回优先级最高或者最低的元素(这里规则可以自己制定),内部是使用平衡二叉树实现的,遍历 ...

  3. C++ 强制类型转换详解

    类型转换只不过是让编译器以另外一种方式解释一块内存而已.C++兼容C语言的强制类型转换方式,同时也提供了新型的基于模板的类型转换方式,来提供更多的安全性. 一.C风格的强制类型转换 double k ...

  4. 关于SQL Server 2012 手动安装帮助文档

    大家以为安装帮助文档很简单,但是其实不然,这其中还有那么一点点道道.今天我就来给大家演示一下! 首先到microsoft官网上下载Microsoft SQL Server 2012 产品文档,然后将. ...

  5. 安装Mysql时提示尚未安装Python 解决方案

    我明明安装了python,结果在安装mysql是却提示没有安装python. 原因,没有将python添加到path中. 解决方法:卸载python,然后重装python,在安装界面中勾选将path添 ...

  6. 07-HTML&CSS

    今日知识 1. HTML表单标签 2. CSS 3.总结 表单标签 * 表单: * 概念:用于采集用户输入的数据的.用于和服务器进行交互. * form:用于定义表单的.可以定义一个范围,范围代表采集 ...

  7. 搭建grafana+telegraf+influxdb服务器性能监控平台

    最近在学习性能测试,了解到一套系统资源使用率低的监控环境,也就是grafana+telegraf+influxdb. InfluxDB是一款优秀的时间序列数据库,适合存储设备性能.日志.物联网传感器等 ...

  8. MyBatis 与Ibatis 区别

    Ibatis 是 Mybatis 的前身,两者都是优秀的持久层框架. 区别: 1.mybatis 实现接口绑定,不需要具体接口实现类.但是需要在xml文件中 的 namespace 绑定具体的接口. ...

  9. Load_file 常用路径

    load_file 常用路径 WINDOWS下: c:/boot.ini //查看系统版本 c:/windows/php.ini //php配置信息 c:/windows/my.ini //MYSQL ...

  10. WinBox软路由的自定义IP设定

             软路由ros(MIKRTIK)安装简单步骤 由于本主也是刚刚接触软路由这个硬件方面的知识.所以也是略知皮毛而已,今天通过网上的学习,然后自己总结了一下怎么在软路由中设定一个自定义IP ...