数据分析前戏:ipython使用技巧(上)
不一定非得使用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使用技巧(上)的更多相关文章
- 数据分析入门——IPython入门
一.什么是IPython IPython的开发者吸收了标准解释器的基本概念,在此基础上进行了大量的改进,创造出一个令人惊奇的工具.在它的主页上是这么说的:“这是一个增强的交互式Python shell ...
- 深度学习与CV教程(6) | 神经网络训练技巧 (上)
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...
- Python数据分析(一): ipython 技巧!
不一定非得使用Jupyter Notebook,试试ipython命令行 安装 ipython 我只试过Windows 10环境下的. 1.安装python安装包之后,应该就有ipython了. 2. ...
- 【转】iPython入门技巧
[转]http://www.cnblogs.com/cuiyubo/p/6823478.html 学习<利用python进行数据分析> 第三章 IPython:一种交互式计算和开发环境的笔 ...
- python数据分析之ipython
在用python进行数据分析的时候,需要提前安装如下几个库: Numpy:是python进行科学计算的科学包 pandas:提供了能够快速便捷地处理结构化数据的大量数据结构和函数 matplotlib ...
- 数据分析 - Excel 配色, 绘图, 技巧
美学 配色 画图本身是美学的展示, 出色的配色是必须的 虽然本身美学并不是数据分析的必要, 但是也不能太low 如果做的太丑展示也是很尴尬 配色网站 点击这里 配置 现版本的 excel 中已存在较为 ...
- 今天整理了几个在使用python进行数据分析的常用小技巧、命令。
提高Python数据分析速度的八个小技巧 01 使用Pandas Profiling预览数据 这个神器我们在之前的文章中就详细讲过,使用Pandas Profiling可以在进行数据分析之前对数据进行 ...
- YACEP相关技术工具服务技巧(上)
这篇随笔的核心是介绍一下YACEP所用到的一些技术,工具,服务和技巧,鉴于篇幅原因,不可能面面俱到,只能点到为止,目录如下: 目录: 1. YACEP简介(上) 2. 技术篇( ...
- (数据科学学习手札84)基于geopandas的空间数据分析——空间计算篇(上)
本文示例代码.数据及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在本系列之前的文章中我们主要讨论了g ...
随机推荐
- LeetCode315—Count of Smaller Numbers After Self—Java版归并算法
这是我在研究leetcode的solution第一个解决算法时,自己做出的理解,并且为了大家能看懂,做出了详细的注释. 此算法算是剑指Offer36的升级版,都使用的归并算法,但是此处的算法,难度更高 ...
- MySQL DNS反查导致连接缓慢
场景 机器A上的一个模块连接机器B上的MySQL,在实验室网络环境下正常:同样A.B两台机器,网络环境切换为与外界隔离的一个小型局域网环境,A上的模块与B上MySQL建立连接非常慢. 环境 SuS ...
- Java 随笔记录
1. java对象转json Message msg = generateMessage();ObjectMapper mapper = new ObjectMapper();String json ...
- Java反射机制练习
public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, Illega ...
- Keepalive之nginx调度架构
author:JevonWei 版权声明:原创作品 单主模式Keepalive之Nginx调度 实验目的:实现Nginx调度的高可用,当一台Nginx调度器故障时,启用备用的Nginx调度,在架构中, ...
- 搭建互联网DNS构架
author:JevonWei 版权声明:原创作品 构建"." DNS."com" DNS及"danran.com",用户通过"电 ...
- select 标签选中 jquery
网上很多错误 的[text ='xxx'] ,我晕. option 标签没有 text 属性.所以[]选取不到. 正确的: $("#yearCardTypeState option:cont ...
- 8个超震撼的HTML5和纯CSS3动画源码
HTML5和CSS3之所以强大,不仅因为现在大量的浏览器的支持,更是因为它们已经越来越能满足现代开发的需要.Flash在几年之后肯定会消亡,那么HTML5和CSS3将会替代Flash.今天我们要给大家 ...
- 团队作业8----第二次项目冲刺(Beta阶段) 第三天
BETA阶段冲刺第三天 1.小会议ing 2.每个人的工作 (1) 昨天已完成的工作 注册账号时时添加了账号相同不能添加的功能,以防两个账号一样的情况: 老师账号注册时添加一个密令: (2) 今天计划 ...
- 学号:201521123116 《java程序设计》第五周学习总结
1. 本章学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 不能编 ...