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

时间: 2024-07-28 18:05:29

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

《python for data analysis》第四章,numpy的基本使用

<利用python进行数据分析>第四章的程序,介绍了numpy的基本使用方法.(第三章为Ipython的基本使用) 科学计算.常用函数.数组处理.线性代数运算.随机模块-- # -*- coding:utf-8 -*-# <python for data analysis>第四章, numpy基础# 数组与矢量计算import numpy as npimport time # 开始计时start = time.time() # 创建一个arraydata = np.array([[

Python For Data Analysis -- NumPy

NumPy作为python科学计算的基础,为何python适合进行数学计算,除了简单易懂,容易学习 Python可以简单的调用大量的用c和fortran编写的legacy的库   The NumPy ndarray: A Multidimensional Array Object ndarray,可以理解为n维数组,用于抽象矩阵和向量 Creating ndarrays 最简单的就是,从list初始化, 当然还有其他的方式,比如, 汇总,     Data Types for ndarrays

Python For Data Analysis -- Pandas

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

《Python For Data Analysis》学习笔记-1

在引言章节里,介绍了MovieLens 1M数据集的处理示例.书中介绍该数据集来自GroupLens Research(http://www.groupLens.org/node/73),该地址会直接跳转到https://grouplens.org/datasets/movielens/,这里面提供了来自MovieLens网站的各种评估数据集,可以下载相应的压缩包,我们需要的MovieLens 1M数据集也在里面. 下载解压后的文件夹如下: 这三个dat表都会在示例中用到,但是我所阅读的<Pyt

《python for data analysis》第十章,时间序列

< python for data analysis >一书的第十章例程, 主要介绍时间序列(time series)数据的处理.label:1. datetime object.timestamp object.period object2. pandas的Series和DataFrame object的两种特殊索引:DatetimeIndex 和 PeriodIndex3. 时区的表达与处理4. imestamp object.period object的频率概念,及其频率转换5. 两种频

使用Python进行Data Analysis(1)

Python是一门热门语言,可以应用于多个方向,比如网络变成,云计算,爬虫,自动化运维,自动化运维以及数据科学等. 本文就数据科学方向,介绍如何使用Python进行Data Analysis 1. 工具安装 工欲善其事,必先利其器.可以使用工具Anaconda和Jupyter Notebook以及Python2.7进行开发 1.1 Python 2.7: 下载地址:https://www.python.org/downloads/release/python-2716/,选择对应的操作系统版本进

Python for Data Analysis | MovieLens

Background MovieLens 1M数据集含有来自6000名用户对4000部电影的100万条评分数据. ratings.dat UserID::MovieID::Rating::Timestamp users.dat UserID::Gender::Age::Occupation::Zip-code movies.dat MovieID::Title::Genres 通过pandas.read_table将各个表分别读到一个pandas DataFrame对象中. * head=Non

python for data analysis chapter1~2

Q1:numpy与series的区别:index Tab补全(任意路径Tab) 内省(函数:?显示文档字符串,??显示源代码:结合通配符:np.* load *?) %load .py ctrl-c(强行中断) %timeit(执行时间)%debug? %pwd %matplotlib inline(否则你创建的图可能不会出现) 单行注释# 多行注释,多行字符串‘’‘ ’‘’ Q2:赋值,浅拷贝和深拷贝 1.赋值:简单地拷贝对象的引用,两个对象的id相同. 2.浅拷贝:创建一个新的组合对象,这个

[Python For Data Analysis] Numpy Basics

创建数组 import numpy as np # np.array 将一个iterable object转换为 ndarray data2 = [[2, 3, 4], [5, 6, 7]] arr2 = np.array(data2, dtype = np.float64) #[[2. 3. 4.] # [5. 6. 7.]] arr3 = np.array(data2, dtype = np.int32) #[[2 3 4] # [5 6 7]] # astype 方式将一种数据类型的arr