码迷,mamicode.com
首页 > 编程语言 > 详细

数据分析前戏:ipython使用技巧(上)

时间:2017-10-03 12:05:28      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:style   分享   字符串   并且   xxx   col   ctr   一个   内容   

不一定非得使用Jupyter Notebook,试试ipython命令行

安装 ipython

我只试过Windows 10环境下的。

1.安装python安装包之后,应该就有ipython了。

2.安装anaconda,这个做机器学习或数据分析要是需要的,这个装完之后,也会有ipython。(建议使用anaconda,国内镜像地址:https://mirrors.tuna.tsinghua.edu.cn/

启动ipython

1.命令行输入ipython即可启动。

2.或者找一下快捷方式,也可以启动。

技术分享

帮助?

1.help,python内置了help方法,相信大家都会这个。例如:help(len),然后就会显示len方法的帮助文档:

技术分享

2.?,ipython独有的提供了一个快捷字符?,它也可以访问帮助文档,例如:

技术分享

查看源码??

使用?? 来查看python的源码:

技术分享

但是,如果源码不适用python写的(有些内置的方法使用C等语言写的),就会出现如下效果:

技术分享

自动完成 Tab

Tab键在ipython中输入时可提供自动完成或浏览功能。

有时候优点像python内置的dir()函数,但强大得多。

技术分享

这是L.后边点击Tab的效果。下面是再输入一个字母c之后的智能提示的效果:

技术分享

提示私有属性

使用Tab默认只显示public和external属性/方法,如果想显示私有属性,那么按约定,你要先输入一个下划线_

技术分享

import的时候也可以使用Tab

技术分享

通配符*

有时候tab不够用,那就使用通配符 * 。

例如:显示以Error结尾的对象:

技术分享

注意后边还有个?。

*可以匹配任何字符串包括空字符串。

另一个例子,包含xxx字符串:

技术分享

快捷键

导航类:

Ctrl+a,移动光标到行首

Ctrl+e,移动光标到行尾

Ctrl+b(或←),向左移动一个字符

Ctrl+f(或→),向右移动一个字符

输入类:

Backspace:删除行中前一个字符

Ctrl+d,删除行中下一个字符

Ctrl+k,从光标位置剪切到行尾。

Ctrl+u,从行首剪切到光标位置。

Ctrl+y,粘贴之前剪切的文字。

Ctrl+t,调换前两个字符的位置。

命令历史类:

Ctrl+p,前一个命令,和↑好像一样。

Ctrl+n,后一个命令,和↓好像一样。

Ctrl+r,倒序搜索。

其中Ctrl+r是挺有用的,例如:

技术分享

按Ctrl+r后,输入a,就会倒序搜索之前的输入。

如果有相同的历史搜索结果的话,你可以点击多次Ctrl+r继续往前翻。

其它快捷键:

Ctrl+l,清屏

Ctrl+c,中断当前python命令

Ctrl+d,退出ipython

 

魔法命令

复制多行代码 %paste,%cpaste

在ipython命令行中使用Ctrl+c复制多行代码经常会出现问题(缩进等问题),使用%paste命令,解决了这个问题。

输入%paste,然后回车,就会把你剪切盘里面的内容完美的复制进来并执行

技术分享

%cpaste,和%paste类似,但是它会提供一个交互界面,以便输入多个代码块。

执行外部代码 %run

直接举例:

技术分享

技术分享

为代码执行计时:%timeit,%%timeit

对单行代码的执行计时:%timeit:

技术分享

对多行代码执行计时:%%timeit:

技术分享

魔法命令的帮助文档:

使用%maigc,可以查看所有魔法命令及其文档。

使用%lsmagic,可以列出所有的魔法命令。

输入输出历史

使用ipython shell,您一定对左边这些in,out特别熟悉。

技术分享

但是,它们不是装饰品,它们俩是变量

技术分享

In和Out是两个变量,并且随着命令的输入,实时更新。

其中:

In是一个list,而Out是一个Dictionary。

所以可以这样查看具体的In和Out:

技术分享

其中需要注意的是,并不是所有的In都有输出,例如[37]。

下划线和前一个输出

使用一个下划线 _ 来获取前一个输出结果,它是个变量,实时更新的。

技术分享

使用两个下划线 __ 可以获取倒数第二个输出,使用三个下划线 ___ 获取倒数第三个输出。(没有输出的命令行不计入在内)

最多也只能使用三个下划线,超过三的话可以使用Out[X]或者_X来获取之前的输出:其中X是命令行号,不是往前数的个数。

抑制输出

有时候在输入命令后,我们不想让其输出结果,那就这样,在行的最后边加一个 ; 分号。

技术分享

这样的话,第76行也就没有输出了,Out[76]就不存在了。

相关的魔法命令:%history

使用%history可以一起获取前面多个命令:

技术分享

注意其参数-n后边跟的是 命令行号的区间。

 

数据分析前戏:ipython使用技巧(上)

标签:style   分享   字符串   并且   xxx   col   ctr   一个   内容   

原文地址:http://www.cnblogs.com/cgzl/p/7623347.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!