Python For Data Analysis -- IPython

IPython Basics

首先比一般的python shell更方便一些 
比如某些数据结构的pretty-printed,比如字典 
更方便的,整段代码的copy,执行

并且可以兼容部分system shell , 比如目录浏览,文件操作等

 

Tab Completion

这个比较方便,可以在下面的case下,提示和补全未输入部分

a. 当前命名空间中的名字

b.对象或模块的属性和函数

c. 文件路径

 

Introspection, 内省

?,在标识符前或后加上,显示出对象状况和docstring

 

??,显示出source code

?,在命名空间中search

比如用tab completion,对于numpy太多属性和函数,想用通配符*去search和过滤,但tab completion是不支持的,这时候用?

 

The %run Command

可以直接执行一个python脚本,

In [550]: %run ipython_script_test.py

如果脚本需要使用当前shell环境中定义的变量,使用

%run -i

 

Executing Code from the Clipboard

直接把整段代码,copy过来会有问题,需要加上%paste 或 %cpaste

执行%paste,会自动读取Clipboard的内容作为代码段,并执行,

%cpaste,可以随意粘帖任意多的代码, 最终用ctrl-d来结束输入,并执行

 

Keyboard Shortcuts

 

Magic Commands

IPython中定义的一些特殊命令,一般以%开头

如果以%%表示cell模式,即多行,比如%%timeit,可以测试多行的执行时间

使用%quickref or %magic,可以看到所有magic commands的介绍

如果没有冲突的情况下,不用加%,也是可以的(这个feature可以用%automagic来开关)

 

Matplotlib Integration and Pylab Mode

$ ipython --pylab

 

Using the Command History

a. 搜索history 
这是用的最多的,用上下键来查找,并且上下键是支持,增量的,即输入开头,再用上下键搜索 
但是有时候,只记得部分命令,不一定是开头,比如像搜索包含time的history命令,用ctrl+r

b. 快速引用历史的输入输出

用的比较多的是输出,_ (one underscore) and __ (two underscores) 分别表示,前一个,前两个命令的输出 
也可以用_行号,来引用特定行的输出

引用特定行的输入,是_i行号

还可以用exec来执行特定的行

c. 整个执行过程记录到log

%logstart,%logstop

 

Interacting with the Operating System

 

 

Software Development Tools

IPython支持Debug, %debug, 或%pdb,我一般不用debug,所以ignore

 

Timing Code: %time and %timeit

time是运行一次,而timeit是运行多次求平均值

 

Basic Profiling: %prun and %run -p

python中提供cProfile来进行performance分析 
而IPython提供更方便的接口, 
%prun 或 %run –p 
比如, 
%prun -l 7 -s cumulative run_experiment() 
%run -p -s cumulative cprof_example.py

都可以进行profile,找出其中比较耗时的代码

同时还通过插件支持Profiling a Function Line-by-Line

 

IPython HTML Notebook

ipython notebook --pylab=inline

用过,觉得真的挺酷 
支持python,markdown,html,可以把整个session保存在json格式的文件里.ipynb 
觉得这个尤其方便教学

简单的上传和分发.ipynb,大家都可以简单的交互的更改或学习

本文章摘自博客园,原文发布日期:2014-08-08 

时间: 2024-09-15 21:55:07

Python For Data Analysis -- IPython的相关文章

Python For Data Analysis -- NumPy

NumPy作为python科学计算的基础,为何python适合进行数学计算,除了简单易懂,容易学习 Python可以简单的调用大量的用c和fortran编写的legacy的库 Python科学计算的这几个库,单独安装还是蛮麻烦的,所以推荐这个包 http://www.continuum.io/downloads#all conda list #查看所有的可安装包    conda install wxpython #安装    conda install pyqt #安装    conda up

Python For Data Analysis -- Pandas

首先pandas的作者就是这本书的作者  对于Numpy,我们处理的对象是矩阵  pandas是基于numpy进行封装的,pandas的处理对象是二维表(tabular, spreadsheet-like),和矩阵的区别就是,二维表是有元数据的  用这些元数据作为index更方便,而Numpy只有整形的index,但本质是一样的,所以大部分操作是共通的 大家碰到最多的二维表应用,关系型数据库中的表,有列名和行号,这些就是元数据  当然你可以用抽象的矩阵来对这些二维表做统计,但使用pandas会更

Setup Python 开发环境和IPython的基本使用

前言 常言道:工欲善其事,必先利其器.编程语言的学习是久远的,一步一脚印.现在从最基础的开发环境的部署开始,开启我们Python之路吧.在大多数Linux的发行版中都会预安装Python的编译环境来满足和支持系统内部软件的运行.Ubuntu Kylin 也预安装了Python-2.7.6,输入python指令就可以进入Python自带的Shell.但是此PythonShell一般用于调试Python脚本,其功能远不能满足程序开发.下面我会介绍Python交互式Shell–IPython的安装是基

Python在云端编程之IPython notebook

Python在云端编程之IPython notebook 如果本地编程考虑到Python版本,机器位数,编译环境,科学栈安装等等繁琐的事,弄得你焦头烂额,不如移步云端,省去这些繁琐过程,在云端编程是很享受的事,当前你只需要:有网,有浏览器--就行!已经内置了科学栈Numpy.pandas等等,不管是科研还新手都可以即刻开始! 1.打开网址Wakari(https://wakari.io/)简单注册即可 2.进入应用界面 3.New notebook开始编程 4.其他详细操作查看help

Python,Jupyter Notebook,IPython快速安装教程

Python,IPython,Jupyter Notebook快速安装教程 下一篇:IPython.Notebook.qtconsole使用教程 下一篇Python数据科学安装Numby,pandas,scipy,matpotlib等(IPython安装pandas) 最近深入Python的数据分析方面,为了进一步优化工具决定自己动手安装,可是看到安装文档基本千篇一律,跟不上版本变更只好看官方文档,选择了快速安装,这也省去了新手不少的时间,从而有更多的时间专注于工具的使用和科学分析. (2016

《Python金融大数据分析》一2.3 延伸阅读

2.3 延伸阅读 下面的网络资源有助于本章介绍的主题. Anaconda文档--http://docs.continuum.io/anaconda/ conda文档--http://conda.pydata.org/docs/ IPython文档--http://ipython.org/ipython-doc/stable/ IPython Notebook使用的Markdown语言--http://daringfireball.net/projects/markdown/有关Spyder的信息

天龙八步 第二弹:8步从Python白丁到专家,从基础到深度学习

如果你想做一个数据科学家,或者作为一个数据科学家你想扩展自己的工具和知识库,那么,你来对地方了. 这篇文章的目的,是给刚开始使用Python进行数据分析的人,指明一条全面的Python学习路径.这条路径提供了用Python进行数据分析的必要步骤的一个全面概述.如果你已经有了一些基础,或者不需要所有的内容,可以随意调整学习路径以适合自己,并让我们知道你是怎么改动的. 0热身运动在开始学习之前,第一个需要回答的问题是 推荐这个30分钟的录像,它是DataRobot创始人Jeremy在2014年Pyt

python数据分析时出现RunTimeError

问题描述 python数据分析时出现RunTimeError 我在做<Python fo Data Analysis>第8章地震危机数据处理的时候出现了以下错误信息,希望有大神帮忙分析一下. RuntimeError Traceback (most recent call last) <ipython-input-15-b85854eb74f4> in <module>() 80 cat_data = data[data['category_%s' % code] ==

《Python Cookbook(第3版)中文版》——6.3 解析简单的XML文档

6.3 解析简单的XML文档 6.3.1 问题 我们想从一个简单的XML文档中提取出数据. 6.3.2 解决方案 xml.etree.ElementTree模块可用来从简单的XML文档中提取出数据.为了说明,假设想对Planet Python(http://planet.python.org )上的RSS订阅做解析并生成一个总结报告.下面的脚本可以完成这个任务: from urllib.request import urlopen from xml.etree.ElementTree impor