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,大家都可以简单的交互的更改或学习
Python For Data Analysis -- IPython的更多相关文章
- 《python for data analysis》第四章,numpy的基本使用
<利用python进行数据分析>第四章的程序,介绍了numpy的基本使用方法.(第三章为Ipython的基本使用) 科学计算.常用函数.数组处理.线性代数运算.随机模块…… # -*- c ...
- 学习笔记之Python for Data Analysis
Python for Data Analysis, 2nd Edition https://www.safaribooksonline.com/library/view/python-for-data ...
- Python for Data Analysis 学习心得(一) - numpy介绍
一.简介 Python for Data Analysis这本书的特点是将numpy和pandas这两个工具介绍的很详细,这两个工具是使用Python做数据分析非常重要的一环,numpy主要是做矩阵的 ...
- 数据分析---《Python for Data Analysis》学习笔记【04】
<Python for Data Analysis>一书由Wes Mckinney所著,中文译名是<利用Python进行数据分析>.这里记录一下学习过程,其中有些方法和书中不同 ...
- 数据分析---《Python for Data Analysis》学习笔记【03】
<Python for Data Analysis>一书由Wes Mckinney所著,中文译名是<利用Python进行数据分析>.这里记录一下学习过程,其中有些方法和书中不同 ...
- 数据分析---《Python for Data Analysis》学习笔记【02】
<Python for Data Analysis>一书由Wes Mckinney所著,中文译名是<利用Python进行数据分析>.这里记录一下学习过程,其中有些方法和书中不同 ...
- 数据分析---《Python for Data Analysis》学习笔记【01】
<Python for Data Analysis>一书由Wes Mckinney所著,中文译名是<利用Python进行数据分析>.这里记录一下学习过程,其中有些方法和书中不同 ...
- 《python for data analysis》第十章,时间序列
< python for data analysis >一书的第十章例程, 主要介绍时间序列(time series)数据的处理.label:1. datetime object.time ...
- 《python for data analysis》第九章,数据聚合与分组运算
# -*- coding:utf-8 -*-# <python for data analysis>第九章# 数据聚合与分组运算import pandas as pdimport nump ...
随机推荐
- 如何在多模型的情况下进行EF6的结构迁移
所谓多模型就是在一个数据库中包含两个不同模型,或者换句话说就是两个不同DbContext的数据都放到同一个数据库中.这里的多模型不是指多租户的数据库(有谁知道EF很好处理多租户数据库的方案,可以联系我 ...
- SQL Server:查询当前服务器有多少连接请求
有时DBA需要检查当前服务器有多少连接请求,以及连接请求的登录名,客户端版本,主机名,程序名等等之类的信息,我们就可以对服务器的连接状况有所了解,防止不明用户使用. SQL Server本身提供了这么 ...
- jquery概要--基础02
复制节点:clone();默认不会复制绑定事件,如果传入参数true会复制:替换节点: replaceWith() //原节点放在前,新节点放在在后: replaceAll( ...
- 2016 Multi-University Training Contest 10
solved 7/11 2016 Multi-University Training Contest 10 题解链接 分类讨论 1001 Median(BH) 题意: 有长度为n排好序的序列,给两段子 ...
- ZOJ3791 An Easy Game(DP)
给两个长n的01串s1和s2,要对s1进行k次修改,每次修改m个不同位置,问有几种方式修改成s2. 想偏了,只想到原始的01数值是不重要的,因为每个位置修改次数的奇偶性是确定的这一层.. 其实,这题只 ...
- Revit二次开发示例:HelloRevit
本示例实现Revit和Revit打开的文件的相关信息. #region Namespaces using System; using System.Collections.Generic; using ...
- python 代码片段5
#coding=utf-8 # python 有两个主要数据类型:int和float.根据Kiss原则,python只有一宗整数类型int. print 3**3 print int('123') p ...
- HDU 1561 (树形DP+背包)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1561 题目大意:从树根开始取点.最多取m个点,问最大价值. 解题思路: cost=1的树形背包. 有 ...
- BZOJ3994: [SDOI2015]约数个数和
Description 设d(x)为x的约数个数,给定N.M,求 Input 输入文件包含多组测试数据. 第一行,一个整数T,表示测试数据的组数. 接下来的T行,每行两个整数N.M. O ...
- Redis错误配置详解
在使用Redis做缓存时,应用往往能得到非常高的性能.然而,如果配置不当,你将遇到很多令人头疼的问题,比如复制缓冲区限制.复制超时等. Redis提供了许多提高和维护高效内存数据库使用的工具.在无需额 ...