四、Jupyter notebook的进阶使用

2人阅读 评论(0) 收藏 举报
分类:

Tab补全

在shell中输入表达式,按下Tab,会搜索已输入变量(对象、函数等等)的命名空间:

In [1]: an_apple = 27

In [2]: an_example = 42

In [3]: an<Tab>
an_apple    and         an_example  any

补全任何对象的方法和属性:

In [3]: b = [1, 2, 3]

In [4]: b.<Tab>
b.append  b.count   b.insert  b.reverse
b.clear   b.extend  b.pop     b.sort
b.copy    b.index   b.remove

也可以补全电脑上对应的文件信息

In [7]: datasets/movielens/<Tab>
datasets/movielens/movies.dat    datasets/movielens/README
datasets/movielens/ratings.dat   datasets/movielens/users.dat

补全函数的关键词参数(包括等于号=):

这里写图片描述

自省

在对象(函数或实例方法,或者定义过的文档字符串)后使用问号?,可以显示对象的信息:

In [8]: b = [1, 2, 3]

In [9]: b?
Type:       list
String Form:[1, 2, 3]
Length:     3
Docstring:
list() -> new empty list
list(iterable) -> new list initialized from iterable's items

使用??可以显示函数的源码:

In [12]: add_numbers??
Signature: add_numbers(a, b)
Source:
def add_numbers(a, b):
    """
    Add two numbers together

    Returns
    -------
    the_sum : type of arguments
    """
    return a + b
File:      <ipython-input-9-6a548a216e27>
Type:      function

使用?还可以搜索IPython的命名空间。字符与通配符结合可以匹配所有的名字。例如,我们可以获得所有包含load的顶级NumPy命名空间:

In [13]: np.*load*?
np.__loader__
np.load
np.loads
np.loadtxt
np.pkgload

集成Matplotlib

IPython在分析计算领域能够流行的原因之一是它非常好的集成了数据可视化和其它用户界面库,比如matplotlib。不用担心以前没用过matplotlib,本书后面会详细介绍。%matplotlib魔术函数配置了IPython shell和Jupyter notebook中的matplotlib。这点很重要,其它创建的图不会出现(notebook)或获取session的控制,直到结束(shell)。

在notebookl中使用示例如下:

这里写图片描述

魔术命令

在 IPython 的会话环境中,所有文件都可以通过 %run 命令来当做脚本执行,并且文件中的变量也会随即导入当前命名空间。即,对于一个模块文件,你对他使用 %run 命令的效果和 from module import * 相同,除非这个模块文件定义了 main 函数(if name == ‘main:’),这种情况下 main 函数还会被执行。

这种以 % 开头的命令在 IPython 中被称为魔术命令,用于加强 shell 的功能。常用的魔术命令有:

%quickref :显示 IPython 快速参考
%magic :显示所有魔术命令的详细文档
%debug :从最新的异常跟踪的底部进入交互式调试器
%pdb :在异常发生后自动进入调试器
%reset :删除 interactive 命名空间中的全部变量
%run script.py :执行 script.py
%prun statement :通过 cProfile 执行对 statement 的逐行性能分析
%time statement :测试 statement 的执行时间
%timeit statement :多次测试 statement 的执行时间并计算平均值
%who、%who_ls、%whos :显示 interactive 命名空间中定义的变量,信息级别/冗余度可变
%xdel variable :删除 variable,并尝试清除其在 IPython 中的对象上的一切引用
!cmd :在系统 shell 执行 cmd
output=!cmd args :执行cmd 并赋值
%bookmark :使用 IPython 的目录书签系统
%cd direcrory :切换工作目录
%pwd :返回当前工作目录(字符串形式)
%env :返回当前系统变量(以字典形式)

对魔术命令不熟悉的话可以通过 %magic 查看详细文档;对某一个命令不熟悉的话,可以通过 %cmd? 内省机制查看特定文档。值得一提的是,IPython 中使用 del 命令无法删除所有的变量引用,因此垃圾回收机制也无法启用,所以有些时候你会需要使用 %xdel 或者 %reset。

查看评论

Jupyter notebook入门教程(上)

本文将分上下两部分简单介绍Jupyter notebook的入门教程,英文原文出处:Getting started with the Jupyter notebook(part 1)Jupyter n...
  • red_stone1
  • red_stone1
  • 2017年06月04日 17:44
  • 38664

jupyter notebook初步使用心得

这只是个人学习心得的记录,所以没有系统罗列一些概念: anaconda path:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ [1...
  • liuxu1989315
  • liuxu1989315
  • 2018年01月21日 20:26
  • 259

最详尽使用指南:超快上手Jupyter Notebook

注:DC原创文章,转载需取得权限。目录 * 简介 * 安装与运行 * 主面板(Notebook Dashboard) * 编辑界面(Notebook Editor) * 单元(Cell) ...
  • DataCastle
  • DataCastle
  • 2017年12月25日 11:04
  • 3270

Jupyter Notebook基本操作

Jupyter Notebook服务启动与停止 Jupyter Notebook常用快捷键 Matplotlib绘图
  • QimaoRyan
  • QimaoRyan
  • 2017年07月24日 17:18
  • 6110

Ubuntu下Jupyter notebook的安装的使用

最近由于项目需要,开始学习Python,然后发现一个非常有用的python交互式编辑器,非常容易上手而且非常有用和实在,本博文是对学习jupyter notebook的一个汇总和记录,与大家一起分享!...
  • m0_37592397
  • m0_37592397
  • 2017年12月01日 09:26
  • 362

Python·Jupyter Notebook各种使用方法记录·持续更新

Python·Jupyter Notebook各种使用方法记录·持续更新标签(空格分隔): PythonPythonJupyter Notebook各种使用方法记录持续更新 一 Jupyter Not...
  • tina_ttl
  • tina_ttl
  • 2016年05月14日 12:23
  • 152206

用windows浏览器打开Linux的Jupyter notebook开发、调试示例

1.场景,在windows浏览器中打开Linux环境下的jupyter notebook。Jupyter notebook 服务,Spark计算环境在Linux服务器中,而工作环境是windows。在...
  • dream_an
  • dream_an
  • 2016年11月25日 13:51
  • 6523

Jupyter Notebook简洁教程

一篇jupyter notebook的简洁教程
  • u013023297
  • u013023297
  • 2017年05月02日 16:36
  • 10794

jupyter notebook 创建密码

jupyter notebook 创建密码产生jupyter notebook的配置文件:jupyter notebook --generate-config生成的配置文件位置为:~/.jupyter...
  • yaakire
  • yaakire
  • 2017年12月29日 15:59
  • 307

linux系统如何在jupyter notebook里面使用tensorflow

本文转载自: Using TensorFlow through Jupyter (Python 3) 查找了许多解决方案均遇到问题,看到国外的一个解决方案,亲测完美解决。 问题描述: ...
  • Waitfou
  • Waitfou
  • 2017年10月15日 17:41
  • 357
    个人资料
    持之以恒
    等级:
    访问量: 1044
    积分: 135
    排名: 116万+
    文章存档