——学习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. AMD加载器实现笔记(二)

    AMD加载器实现笔记(一)中,我们实现了一个简易的模块加载器.但到目前为止这个加载器还并不能称为AMD加载器,原因很简单,我们还不支持AMD规范中的config配置.这篇文章中我们来添加对config ...

  2. git 合并分支

    当前git有PreRelease和Release两个分支,现在需要将前者合并到后者. Clone版本 在本地clone一个目标工程. 然后右键 Tortoise-->Switch/Checkou ...

  3. SSTable 介绍(二)

    作者:Jack47 上一篇SSTable 介绍(一)介绍了SSTable的适用场景和leveldb中SSTable的设计.本篇介绍SSTable文件的结构组成. SSTable的特点 首先明确一下上文 ...

  4. 记一个界面刷新相关的Bug

    今天遇到一个比较有意思的bug, 这里简单记录下. Bug的症状是通过拖拉边框把我们客户端主窗口拖小之后,再最大化,会发现窗口显示有问题, 看起来像是刷新问题, 有些地方显示的不对了. 这里要说明的是 ...

  5. C#基础入门一

    .net(软件开发平台)-------------------------------------------------------- 学习内容:.net平台下的开发语言. .net freamwo ...

  6. Atitit 电子商务订单号码算法(java c# php js 微信

    Atitit 电子商务订单号码算法(java c# php js  微信 1.1. Js版本的居然钱三爷里面没有..只好自己实现了. 1.2. 订单号标准化...长度16位 1.3. 订单号的结构 前 ...

  7. java 线程安全 Lock

    java.util.concurrent.locks 对于线程安全我们前面使用了synchronized关键字,对于线程的协作我们使用Object.wait()和Object.notify().在JD ...

  8. java中string内存的相关知识点

    (一):区别java内存中堆和栈: 1.栈:数据可以共享,存放基本数据类型和对象的引用,其中对象存放在堆中,对象的引用存放在栈中: 当在一段代码块定义一个变量时,就在栈中 为这个变量分配内存空间,当该 ...

  9. ssh(sturts2_spring_hibernate) 框架搭建之hibernate1

    一.hibernate简单了解: ⑴.hibernate一个java领域里面的一个持久化的ORM框架. 持久化:就是对对象的数据修改,hibernate会把修改的数据同步到数据库中. ORM:Obje ...

  10. writing-mode改变文字书写方式

    古代书写方式都是垂直方向上的,如果要实现这种效果的话,还是挺麻烦的,不过现在CSS3有一个"writing-mode"属性,它可以改变文字的书写方式. writing-mode:h ...