Python For Data Analysis -- IPython

简介:

IPython Basics

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

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

 

Tab Completion

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

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

image

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

image

c. 文件路径

image

 

Introspection, 内省

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

image 

??,显示出source code

image

?,在命名空间中search

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

image

 

The %run Command

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

In [550]: %run ipython_script_test.py

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

%run -i

 

Executing Code from the Clipboard

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

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

image

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

 

Keyboard Shortcuts

image

 

Magic Commands

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

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

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

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

image

 

Matplotlib Integration and Pylab Mode

$ ipython --pylab

 

Using the Command History

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

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

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

image

image

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

image

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

image

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

%logstart,%logstop

 

Interacting with the Operating System

image 

 

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 

目录
相关文章
Python3.x常用时间的处理方法 和urlopen处理post请求,传值data 原创
Python3.x常用时间的处理方法和urlopen处理post请求,传值data 原创
|
4月前
|
索引 Python
|
4月前
|
存储 Python
数据包络分析(Data Envelopment Analysis, DEA)详解与Python代码示例
数据包络分析(Data Envelopment Analysis, DEA)详解与Python代码示例
|
6月前
|
机器学习/深度学习 数据采集 数据挖掘
Python 的科学计算和数据分析: 解释什么是数据规整(Data Wrangling)?
【4月更文挑战第15天】数据规整是将原始数据转化为适合分析和建模的格式的关键步骤,涉及缺失值处理(删除、填充、插值)、异常值检测与处理、数据类型转换、重采样、数据合并、特征选择和特征变换等任务。这些预处理步骤确保数据质量和准确性,为后续的数据分析和机器学习模型构建奠定基础。
97 4
|
6月前
|
Java 编译器 Shell
【Python 基础教程 04】超详细Python编程教程:初学者入门至全面了解Python 解析器( CPython、IPython、Jython和PyPy)
【Python 基础教程 04】超详细Python编程教程:初学者入门至全面了解Python 解析器( CPython、IPython、Jython和PyPy)
160 0
|
Python
【python3.6】pyinstaller报错AssertionError: Failed to determine matplotlib‘s data directory!【解决方案】
【python3.6】pyinstaller报错AssertionError: Failed to determine matplotlib‘s data directory!【解决方案】
286 0
|
JSON jenkins 持续交付
python接口自动化(十一)--发送post【data】(详解)
前面登录博客园的是传 json 参数,由于其登录机制的改变没办法演示,然而在工作中有些登录不是传 json 的,如 jenkins 的登录,这里小编就以jenkins 登录为案例,传 data 参数,给各位童鞋详细演练一下。
232 0
python接口自动化(十一)--发送post【data】(详解)
|
Python
Python:data:image/png;base64图片编码解码
Python:data:image/png;base64图片编码解码
782 0
|
机器学习/深度学习 Ubuntu 前端开发
数据挖掘基础学习一:VMware虚拟机Ubuntu上安装Python和IPython Notebook(Jupyter Notebook)完整步骤及需要注意的问题(以ubuntu-18.04.3为例)
数据挖掘基础学习一:VMware虚拟机Ubuntu上安装Python和IPython Notebook(Jupyter Notebook)完整步骤及需要注意的问题(以ubuntu-18.04.3为例)
930 0
数据挖掘基础学习一:VMware虚拟机Ubuntu上安装Python和IPython Notebook(Jupyter Notebook)完整步骤及需要注意的问题(以ubuntu-18.04.3为例)
|
Python
Python:data:image/png;base64图片编码解码
Python:data:image/png;base64图片编码解码
2421 0
下一篇
无影云桌面