——学习IPython进行交互式Python编程、高性能数字计算和数据可视化

  • 作者:Cyrille Rossant
  • 译者:Tacey Wong

注:仅为个人翻译及学习,多有谬处,E文尚可的推荐阅读英文原版


目录

  • 前言

  • 第一章 开始使用IPython

  • 第二章 使用IPython进行交互式作业

  • 第三章 使用IPython进行数字计算

  • 第四章 交互式连线绘图接口

  • 第五章 高性能和并行化计算

  • 第六章 定制IPython

前言

你也许是一个使用Python作为一种脚本语言进行软件开发的程序员。学习IPython将会使你以一种高效率的方式交互式地使用Python。例如,当探索算法或者分析数据时。除此之外,这是介绍这个称为数字计算、交互式可视化以及并行化编程的高性能平台的绝佳方法。

这本书包含什么:

  • 第一章 简单的介绍IPython的特性,将会向你展示IPytohn所能提供的功能,使你对其有一个概括性的了解。本章所提到的特性将会在后续的章节中陆续讲到。

  • 第二章 介绍怎样以命令行接口使用IPython,展示为数众多的“魔法命令”怎样帮助你大大提高工作效率。本章还会向你介绍IPython notebook,这是一种现代的可重复、协作进行的交互式编程工具。

  • 第三章 介绍Numpy和Pandas的数字计算特性,这两种工具可以很方便的在IPython中调用。这些工具是你在分析巨量数据或更广泛的进行高性能数字计算时必不可少的。

  • 第四章 介绍Matplotlib的绘图接口,展示他们怎样完美地集成到IPython中。Matplotlib是一个非常强大的绘图库,它允许你生成高质量图像或进行交互式可视化数据。

  • 第五章 本章介绍一些较为“高级”的内容,详细如何通过多种方法加速你的代码,例如并行化计算、动态C编译。前面介绍对于IPython来说轻而易举就能实现多核心和多计算机的分布式任务,后面介绍如何通过IPtython使用Python的超集编写代码以动态地进行C语言编译来大大提速。

  • 第六章 介绍如何定制自己及的IPython,创建新的“魔法命令”,并在IPython notebook中使用定制的功能。

读这本书你需要准备什么:

这本书的内容需要你熟悉Python这种计算机语言。除此之外,你要在你的电脑上安装Python(Windows、OS X 或Linux)。同时你还需要安装IPython以及一些扩展库。安装的具体细节在第一章中。

这本书适合谁:

这本书的目标读者是想要学习IPython来作为高级控制台、笔记本、以及平台所提供的其他功能的Python程序员。对交互式计算、数据分析和可视化感兴趣的学生、黑客、科学家、或者兴趣爱好者也适合读这本书,当然,开始需要学习一些Python的基础知识。幸运的是,Python是一种非常平易近人的语言,也有很多相关的书籍、课本和教程。

惯例约定:

本书中,你将会发现针对不同的信息有很多不同的文本风格。这里是一些不同文本形式的示例以及对它们的解释。

书中的代码将会如下面这样显示“例如,标准的Unix命令 pwd ls cd在IPython中是可用的”

代码段将会像下面这样:

print("Running script.")
x = 12
print("'x' is now equal to {0:d}.".format(x))

所有的命令行输入或输出将会是下面的形式:

In [1]: run script.py
Running script.
'x' is now equal to 12.
In [2]: x
Out[2]: 12

示例代码下载

可以从 http://ipython.rossant.net下载本书的所有示例代码。

[译]学习IPython进行交互式计算和数据可视化(一)的更多相关文章

  1. [译]学习IPython进行交互式计算和数据可视化(三)

    第二章 在本章中,我们将详细学习IPython相对以Python控制台带来的多种改进.特别的,我们将会进行下面的几个任务: 从IPython中使用系统shell以在shell和Python之间进行强大 ...

  2. [译]学习IPython进行交互式计算和数据可视化(二)

    第一章:开始使用IPython 在本章中,我们首先进行一遍IPython的安装过程,在大概浏览一下IPython提供的功能.IPython提供了一个高度优化的Python控制台和Notebook.除此 ...

  3. [译]学习IPython进行交互式计算和数据可视化(六)

    第五章:高性能并行计算 一个反复被提及的反对使用Python进行高性能数值计算的言论是这种语言是动态解释型的,速度太慢.一种编译型低级语言,如C,能提供比它快几个数量级的运算速度.我们在第三章--使用 ...

  4. [译]学习IPython进行交互式计算和数据可视化(四)

    第三章 使用Python进行数字计算 尽管IPython强大的shell和扩展后的控制台能被任何Python程序员使用,但是这个工具最初是科学奖为科学家设计的.它的主要设计目标就是为使用Python进 ...

  5. [译]学习IPython进行交互式计算和数据可视化(五)

    第四章:交互式绘图接口 本章我们将展示Python的绘图功能以及如何在IPython中交互式地使用它们. NumPy为处理大量的多维数组结构的数据提供了高效的方法.但是看行行列列的数字总不如直接看曲线 ...

  6. [译]学习IPython进行交互式计算和数据可视化(七)

    第六章:定制IPython 对于高级用户,IPython可以进行定制和扩展.在本章结束之后,你将会知道: 怎样创建和使用自定义配置文件 怎样为高级功能进行IPython扩展 怎样在notebook中使 ...

  7. python学习笔记(2):科学计算及数据可视化入门

    一.NumPy 1.NumPy:Numberical Python 2.高性能科学计算和数据分析的基础包 3.ndarray,多维数组(矩阵),具有矢量运算的能力,快速.节省空间 (1)ndarray ...

  8. Caffe学习系列(15):计算图片数据的均值

    图片减去均值后,再进行训练和测试,会提高速度和精度.因此,一般在各种模型中都会有这个操作. 那么这个均值怎么来的呢,实际上就是计算所有训练样本的平均值,计算出来后,保存为一个均值文件,在以后的测试中, ...

  9. python 科学计算及数据可视化

    第一步:利用python,画散点图. 第二步:需要用到的库有numpy,matplotlib的子库matplotlib.pyplot numpy(Numerical Python extensions ...

随机推荐

  1. RCP:导航器视图删除操作快捷键失效的解决方案

    导航器视图按下“Delete”的时候,会触发删除节点的操作.如果失效,按以下步骤检查: 1.在要删除的节点上点击右键,确定删除操作是否生效.如果没有生效,则按下列位置 a)检查navigator扩展配 ...

  2. IE浏览器不能自动显示PDF文件的解决办法

    今天更新了Adobe的PDF Reader,更新后发现在网页上无法预览PDF文件了,点击PDF的连接,浏览器就会提示下载或者打开,感觉很不爽,经过一番百度,找到了解决办法,在这里分享一下. 打开IE浏 ...

  3. 自定义样式的select下拉框深入探索

    第一个版本: 首先实现自定义select下拉框应该具有的功能,我是选择将原来的select隐藏掉,自己在jquery代码中动态写进去<dl><dd><dt>这样的结 ...

  4. [专业名词·硬件] 1、等效串联电阻ESR概述及稳压电路中带有一定量ESR电容的好处

        一.等效串联电阻ESR概述 ESR是Equivalent Series Resistance的缩写,即“等效串联电阻”.理想的电容自身不会有任何能量损失,但实际上,因为制造电容的材料有电阻,电 ...

  5. 使用后缀数组寻找最长公共子字符串JavaScript版

    后缀数组很久很久以前就出现了,具体的概念读者自行搜索,小菜仅略知一二,不便讨论. 本文通过寻找两个字符串的最长公共子字符串,演示了后缀数组的经典应用. 首先需要说明,小菜实现的这个后缀数组算法,并非标 ...

  6. AWS助理架构师认证考经

    上周考了亚马逊的解决方案架构师-助理级别的认证考试并顺利通过.这也算是对自己AWS服务熟悉程度的一种检验.在准备考试的过程中,把自己学习到的AWS知识都梳理了一遍,也算是收获颇丰.这次特意分享了该认证 ...

  7. 细说.NET中的多线程 (二 线程池)

    上一章我们了解到,由于线程的创建,销毁都是需要耗费大量资源和时间的,开发者应该非常节约的使用线程资源.最好的办法是使用线程池,线程池能够避免当前进行中大量的线程导致操作系统不停的进行线程切换,当线程数 ...

  8. 我的第一个Linux C 程序

    说明:上篇博客把gcc安装了,接着我们就尝试一下她的厉害吧. 我用的是vi的超级版本vim.这条指令,也就是用vim打开这个文件,如果文件不存在的话,那么创建这个文件. 关于Linux文件的创建,也可 ...

  9. 说说设计模式~桥梁模式(Bridge)

    返回目录 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度? ...

  10. EF架构~为IEnumerable接口添加增删查等操作,原因是IEnumerable导航属性更放心

    回到目录 对EF开发来说,导航属性肯定都用过,事实上,它是由VS IDE工具根据你的数据库关系结构自动生成的外键属性,在类视图中可以看到相关属性,它是以外键表名来标识的,如果是一对多的关系,那么,它会 ...