NumPy快速入门

1.1 Python

NumPy是基于Python的,因此在安装NumPy之前,需要先安装Python。某些操作系统已经默认安装有Python环境,但仍需检查Python的版本是否与将要安装的NumPy版本兼容。Python有很多种实现,包括一些商业化的实现和发行版。本书使用CPython实现,从而保证与NumPy兼容。

1.2 动手实践:在不同的操作系统上安装 Python

(1) Debian和Ubuntu

Debian和Ubuntu可能已经默认安装了Python,但开发者包(developmentheaders)一般不会默认安装。在Debian和Ubuntu中安装python和python-dev的命令如下:
sudo apt-get install python
sudo apt-get install python-dev

(2) Windows

Python的Windows安装程序可以在www.python.org/download下载。在这个站点中,也可以找到Mac OS X的安装程序,以及Linux、 Unix和Mac OS X下的源代码包。

(3) Mac Mac

OS X中预装了Python,而我们也可以通过MacPorts、 Fink或者类似的包管理工具来获取Python。

LAPACK并不是必需的,但如果需要, NumPy在安装过程中将检测并使用之。我们推荐大家
安装LAPACK以便应对海量数据的计算,因为它拥有高效的线性代数计算模块。

1.3 动手实践:在 Linux 上安装 NumPy、 Matplotlib、 SciPy和 IPython

在Linux上安装NumPy和相关软件的方法取决于具体使用的Linux发行版。大部分Linux发行版都有NumPy的软件包。我一些流行的Linux发行版的安装方法如下:
(1) 要在Red Hat上安装NumPy,请在命令行中执行如下命令:
yum install python-NumPy(2) 要在Mandriva上安装`NumPy`,请在命令行中执行如下命令: `urpmi python-`NumPy
(3) 要在Gentoo上安装NumPy,请在命令行中执行如下命令:
sudo emergeNumPy(4) 要在Debian或Ubuntu上安装`NumPy`,请在命令行中执行如下命令: `sudo apt-get install python-`NumPy

1.4 动手实践:向量加法

假设我们需要对两个向量ab做加法。这里的向量即数学意义上的一维数组,随后我们将在第5章中学习如何用NumPy数组表示矩阵。向量a的取值为0~n的整数的平方,例如n3时,向量a014。向量b的取值为0~n的整数的立方,例如n3时,向量b018。用纯Python代码应该怎么写呢?我们先想一想这个问题,随后再与等价的NumPy代码进行比较。
(1) 纯Python代码:

def pythonsum(n):a = range(n)b = range(n)c = []for i in range(len(a)):a[i] = i ** 2b[i] = i ** 3c.append(a[i] + b[i])return c

(2) 使用NumPy的代码:

def `NumPy`sum(n):a = `NumPy`.arange(n) ** 2b = `NumPy`.arange(n) ** 3c = a + breturn c

注意, NumPysum()函数中没有使用for循环。同时,我们使用NumPy中的arange函数来创建包含0~n 的整数的NumPy数组。代码中的arange函数前面有一个前缀NumPy,表明该函数是从NumPy模块导入的。

NumPy还是Python,得到的结果是一致的。不过,两者的输出结果在形式上有些差异。注意,NumPy sum()函数的输出不包含逗号。这是为什么呢?显然,我们使用的是NumPy数组,而非Python自身的列表。

1.5 IPython:一个交互式 shell 工具

IPython提供的交互式实验环境被很多人认为是Matlab、 Mathematica和Maple的开源替代品。你可以在线获取包括安装指南在内的更多信息,地址为http://ipython.org/。

IPython是开源免费的软件,可以在Linux、 Unix、 Mac OS X以及Windows上使用。 IPython的作者们希望那些用到IPython的科研工作成果在发表时能够提到IPython,这是他们对IPython使用者唯一的要求。下面是IPython的基本功能:

  • Tab键自动补全;
  • 历史记录存档;
  • 行内编辑;
  • 使用%run可以调用外部Python脚本;
  • 支持系统命令;
  • Python代码调试和性能分析。

使用quit()函数或快捷键Ctrl+D均可以退出IPython shell。
在IPython中获取NumPy函数帮助有两种方式,help(函数名)函数名?

《Python数据分析基础教程:NumPy学习指南(第2版)》笔记1:第一章 NumPy快速入门相关推荐

  1. python数据分析基础教程 numpy_Python数据分析基础教程:NumPy学习指南(第2版)

    Python数据分析基础教程:NumPy学习指南(第2版) Ivan Idris (作者) 张驭宇 (译者) NumPy是一个优秀的科学计算库,提供了很多实用的数学函数.强大的多维数组对象和优异的计算 ...

  2. python统计数据分析基础教程_Python数据分析基础教程:NumPy学习指南(第2版)

    第1章 NumPy快速入门 让我们开始吧.首先,我们将介绍如何在不同的操作系统中安装NumPy和相关软件,并给出使用NumPy的简单示例代码.然后,我们将简单介绍IPython(一种交互式shell工 ...

  3. 《Python数据分析基础教程:NumPy学习指南(第2版)》笔记4:第二章 NumPy基础3——数组的组合、分割,数组转换为列表

    第二章 NumPy基础3 本章示例代码中的输入和输出均来自IPython会话. 2.7 数组的组合 NumPy数组有水平组合.垂直组合和深度组合等多种组合方式,我们将使用vstack.dstack. ...

  4. 《Python数据分析基础教程:NumPy学习指南:第二版》读书笔记

    内容 主要介绍了NumPy库中的函数. 组成方式 用非常零散的知识点串联成章节. 内容摘要 极简地展示了章节中所运用的函数. 第一章 arrange函数创建NumPy数组. 第二章 NumPy特性 在 ...

  5. 《Python数据分析基础教程:NumPy学习指南(第2版)》笔记6:第三章 常用函数2——中位数、方差、日期、展平

    本章将介绍NumPy的常用函数.具体来说,我们将以分析历史股价为例,介绍怎样从文件中载入数据,以及怎样使用NumPy的基本数学和统计分析函数.这里还将学习读写文件的方法,并尝试函数式编程和NumPy线 ...

  6. 《Python数据分析基础教程:NumPy学习指南(第2版)》笔记5:第三章 常用函数1——文件读写、算术平均值、最大值最小值、极值

    本章将介绍NumPy的常用函数.具体来说,我们将以分析历史股价为例,介绍怎样从文件中载入数据,以及怎样使用NumPy的基本数学和统计分析函数.这里还将学习读写文件的方法,并尝试函数式编程和NumPy线 ...

  7. 《Python数据分析基础教程:NumPy学习指南(第2版)》笔记8:第三章 常用函数4——线性模型、数组修剪与压缩、阶乘

    本章将介绍NumPy的常用函数.具体来说,我们将以分析历史股价为例,介绍怎样从文件中载入数据,以及怎样使用NumPy的基本数学和统计分析函数.这里还将学习读写文件的方法,并尝试函数式编程和NumPy线 ...

  8. 《Python数据分析基础教程:NumPy学习指南(第2版)》笔记16:第七章 专用函数2——金融函数

    当前Numpy版本为:1.20 第七章 专用函数 7.9 金融函数 NumPy中有很多金融函数. Numpy 1.20之前的版本导入numpy,直接调用以下函数即可. (注意!Numpy 1.20之后 ...

  9. python数据分析基础教程 numpy 2pdf_Python数据分析基础教程:NumPy学习指南(第2版)...

    领取成功 您已领取成功! 您可以进入Android/iOS/Kindle平台的多看阅读客户端,刷新个人中心的已购列表,即可下载图书,享受精品阅读时光啦! - | 回复不要太快哦~ 回复内容不能为空哦 ...

最新文章

  1. angular2 表单
  2. OSPF特殊区域之STUB
  3. 安装好的苹果系统部分截图
  4. python3 列表的增删改查
  5. iis7设置html支持asp,Win7下启用IIS7配置ASP运行环境的详细方法
  6. c# ui 滚动 分页_UI备忘单:分页,无限滚动和“加载更多”按钮
  7. 生成step文件_利用opencv给彦女王生成一副蒙太奇画像
  8. linux如何挂载nfs目录,linux – NFS导出已经挂载NFS的目录(在服务器上)
  9. labelme新版本的使用须知
  10. pip更新升级后Import Error:cannot import name main及pip安装包后出现环境错误拒绝访问...
  11. 8086cpu学习笔记(3):寻址方式
  12. 链上合约(On-chain) 和 链下合约(Off-chain) 是什么 区别
  13. 台达服务器AB和B2系列区别,台达伺服各系列区别
  14. ubuntu中 tftp 服务器搭建 tftpd-hpa
  15. python如何调整word表格宽度_python-docx编辑word表格
  16. Cocos2d-x 3.4 初体验——安装教程
  17. Comparable Comparator
  18. 解决 cannot connect to 192.168.1.136:5555: 由于目标计算机积极拒绝,无法连接。 (10061)
  19. 阿里自然语言处理部总监分享:NLP技术的应用及思考
  20. 模拟卷Leetcode【普通】537. 复数乘法

热门文章

  1. 动手学习深度学习-深度学习基础
  2. C++运行三维人脸重建 VRN
  3. vue中v-for为何要加key?index为何不推荐作为key
  4. vue中v-if 不重新渲染组件的问题
  5. 商业模式(四):群硕软件,欧美客户为主的软件外包
  6. 5.4 成员变量的隐藏和方法重写
  7. Armijo条件,Wolfe条件,Goldstein条件
  8. 英语二 - 常用词根一
  9. 个人的敏感信息需要怎么进行安全保护的一些思考记录
  10. 大数据之flink数据一致性