0x00 概述

  Jupyter Notebook安装的官方网站

  • 安装Jupyter Notebook的先决条件:已经安装了python(python 2.7 或者是python3)

  • 具体的安装方法:

    • 官方建议利用Anaconda安装Jupyter
    • 安装完成Anaconda后,如果该Anaconda并不自带Jupyter Noterbook,那么,打开cmd,输入:conda install jupyter
  • 可以使用pip install jupyter安装

0x01 更改Jupyter notebook的工作空间

1.1 方式一

如何找到该配置文件?

  • 在cmd中输入jupyter notebook --generate-config
  • 如果该配置文件已经存在,那么,会出现如下信息,从中可以见到配置文件存在的位置,注意,此时,输入N,不要overwrite 
  • 如果该配置文件不存在,那么,将会初始化产生一个配置文件
  • 找到配置文件。修改:

修改为:

保存后在cmd中输入:jupyter notebook,会自动触发默认浏览器打开jupyter

1.2 方式二绝招(绝招)

  • 进入工作目录文件夹
  • 键盘Shift+鼠标右键->在此处打开命令窗口-> 在弹出的命令窗口中输入:Jupyter Notebook 
     

  • Jupyter被打开,定位到当前目录! 

0x02 Jupyter的各种快捷键

  • 执行当前cell,并自动跳到下一个cell:Shift Enter

  • 执行当前cell,执行后不自动调转到下一个cell:Ctrl-Enter

  • 是当前的cell进入编辑模式:Enter

  • 退出当前cell的编辑模式:Esc

  • 删除当前的cell:双D

  • 为当前的cell加入line number:单L

  • 将当前的cell转化为具有一级标题的maskdown:单1

  • 将当前的cell转化为具有二级标题的maskdown:单2

  • 将当前的cell转化为具有三级标题的maskdown:单3

  • 为一行或者多行添加/取消注释:Crtl /

  • 撤销对某个cell的删除:z

  • 浏览器的各个Tab之间切换:Crtl PgUpCrtl PgDn

  • 快速跳转到首个cell:Crtl Home

  • 快速跳转到最后一个cell:Crtl End

0x03 Jupyter Notebook如何导入代码

即导入代码到jupyter notebook的cell中

3.1 将本地的.py文件load到jupyter的一个cell中

问题背景:有一个test.py文件,需要将其载入到jupyter的一个cell中 
test.py内容如下:

import caffe
SolverName = "/root/workspace"
sovler = caffe.AdamSolver(SolverName)

方法步骤: 
(1)在需要导入该段代码的cell中输入

%load test.py #test.py是当前路径下的一个python文件

(2)运行该cell 
利用快捷键“Shift+Enter”,可以看到如下结果: 

(3)可以看到,运行后,%load test.py被自动加入了注释符号#,test.py中的所有代码都被load到了当前的cell中

3.2 从网络load代码到jupyter

  • 在cell中输入%load http://.....,然后运行该cell,就会将load后面所对应地址的代码load到当前的cell中;

  • 下面给出一个例子,导入matplotlib中的一个小例子color example code

    • 首先,在想要导入该段代码的cell中输入

      %load test.py #test.py是当前路径下的一个python文件
      • 1
    • 然后,Shift+Enter运行,可以看到如下结果: 

      可以看到,运行后,%load test.py被自动加入了注释符号#,test.py中的所有代码都被load到了当前的cell中

0x04 Jupyter运行python文件

  • 利用jupyter的cell是可以运行python文件的,即在cell中运行如下代码:
%run file.py
  • 1

file.py为要运行的python程序,结果会显示在该cell中 

0x05 Jupyter一些其他琐碎用法

5.1 jupyter的cell可以作为unix command使用

具体方法为:在unitx command前面加入一个感叹号“!”

例子: 
查看python版本:!python --version 
运行python文件:!python myfile.py

5.2 Magic functions

还没有太明白,具体细节见The cell magics in IPython

5.3 获取current working directory

即当前运行的代码所在的路径 
具体方法:current_path = %pwd 
这样得到的current_path就是当前工作路径的字符转

5.4 使用Matplotlib绘图

在Jupyter Notebook中,如果使用Matplotlib绘图,有时是弹不出图像框的,此时,可以在开头加入

  • 1     %matplotlib inline

0x06 Jupyter中的Markdown

参考1 
Markdown 语法手册 (完整整理版)参考

6.1 在jupyter中设置link,需要设置两部分:

  • 要跳到的位置(the destination) 
    需要在要跳转到的位置添加下面语句:

    • 1    <a id='the_destination'></a>

    这里的id取值任意赋值,下面在添加链接时要用

  • 需要添加链接的文字(an internal hyperlink to the destination),即点击该处可以跳转到the destination,在需要添加链接的文字后面加入:

    • 1     [需要添加连接的文字](#the_destination)
  • 下面是一个例子: 
    源码: 

    效果图: 

6.2 为Jupyter Notebook添加目录功能

  • 原始的Jupyter是不支持markdown添加目录功能的
  • 实际上,可以利用Jupyter notebook extensions去使得这种功能实现
  • 具体方法: 
    • 利用Anaconda安装Jupyter Notebook extensions 
      conda install -c conda-forge jupyter_contrib_nbextensions 
    • 打开Jupyter Notebook,在它的(新增的)Nbextensions标签下勾选“Table of Contents(2)” 
    • 打开一个.jpynb文件,发现,目录功能可用了! 

参考文献 
[1] 为Jupyter Notebook添加目录

ML学习笔记之Jupyter Notebook各种使用方法的更多相关文章

  1. [ML学习笔记] XGBoost算法

    [ML学习笔记] XGBoost算法 回归树 决策树可用于分类和回归,分类的结果是离散值(类别),回归的结果是连续值(数值),但本质都是特征(feature)到结果/标签(label)之间的映射. 这 ...

  2. [ML学习笔记] 朴素贝叶斯算法(Naive Bayesian)

    [ML学习笔记] 朴素贝叶斯算法(Naive Bayesian) 贝叶斯公式 \[P(A\mid B) = \frac{P(B\mid A)P(A)}{P(B)}\] 我们把P(A)称为"先 ...

  3. [ML学习笔记] 决策树与随机森林(Decision Tree&Random Forest)

    [ML学习笔记] 决策树与随机森林(Decision Tree&Random Forest) 决策树 决策树算法以树状结构表示数据分类的结果.每个决策点实现一个具有离散输出的测试函数,记为分支 ...

  4. [ML学习笔记] 回归分析(Regression Analysis)

    [ML学习笔记] 回归分析(Regression Analysis) 回归分析:在一系列已知自变量与因变量之间相关关系的基础上,建立变量之间的回归方程,把回归方程作为算法模型,实现对新自变量得出因变量 ...

  5. 【笔记】jupyter notebook基础使用

    jupyter notebook基础使用 执行代码 添加格子 在输出结果的同时添加一行 run cells and insert below 输出结果,若后续没有新的代码行了,则会在后面添加一行 查看 ...

  6. Python·Jupyter Notebook各种使用方法

    PythonJupyter Notebook各种使用方法记录持续更新 一 Jupyter NoteBook的安装 1 新版本Anaconda自带Jupyter 2 老版本Anacodna需自己安装Ju ...

  7. Python·Jupyter Notebook各种使用方法记录

    标签(空格分隔): Python 一 Jupyter NoteBook的安装 1 新版本Anaconda自带Jupyter 2 老版本Anacodna需自己安装Jupyter 二 更改Jupyter ...

  8. JavaScript学习笔记:数组reduce()和reduceRight()方法

    很多时候需要累加数组项的得到一个值(比如说求和).如果你碰到一个类似的问题,你想到的方法是什么呢?会不会和我一样,想到的就是使用for或while循环,对数组进行迭代,依次将他们的值加起来.比如: v ...

  9. 再起航,我的学习笔记之JavaScript设计模式06(工厂方法模式)

    上一次已经给大家介绍了简单工厂模式,相信大家对创建型设计模式有了初步的了解,本次我将给大家介绍的是工厂方法模式. 工厂方法模式 工厂方法模式(Factory Method):通过对产品类的抽象使其创建 ...

随机推荐

  1. nginx日志分割及备份

    环境:centos7 nginx1.16.1 一.分割及备份的目的 nginx默认将日志信息写在一个文件中,时间一久日志文件中条目越来越多,文件越来越大,不方便查看,备份的时候也不需要备份重复的信息, ...

  2. 国内加速访问 GitHub

    国内加速访问 GitHub 本文原始地址:https://sitoi.cn/posts/23395.html 中国访问 GitHub 的速度不忍直视,那就叫一个慢! Q: 为什么访问速度会很慢? A: ...

  3. MySql || 快速创建100w条记录

    平时每个开发者都会讨论数据量大时,sql的优化问题.但是并不是每个人都会有100w的数据量可以用来实战,那么今天我们就自己动手,模拟一个100w数据量的表. 创建原理 其实创建的方法有很多,有快的也有 ...

  4. TL-WDN5200H无线usb网卡在Linux上的使用

    买了个TL-WDN5200H无线usb网卡,但是发现它居然不支持Linux,但是我有时需要在Linux上使用,这就尴尬了.于是到网上搜索资料,终于解决了这个问题. 首先编译安装:https://git ...

  5. 第二阶段冲刺(个人)——two

    今天的计划: 测试登录功能并优化. 昨天做了什么呢?  修改登录界面. 遇到的困难:一些标签运用不好,过程进度慢,改了又改.

  6. JavaScript计算时间前一天跟后一天

    1.获取当前时 //写在HTML <button onclick="goBefore()">前一天</button> <button onclick= ...

  7. 【meet in the mid】【qbxt2019csp刷题班day1C】birthday

    Description 给定一个长度为 \(n\) 序列,值域为 \([1, v]\),每次选择一段区间,要求在这个区间上选择一些元素加入到两个集合中,每个元素要么不选要么只能加入一个集合,要求两个集 ...

  8. nginx lnmp之nginx+php

    配置如下(在server部分添加): location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/tmp/php-fcgi.sock; ...

  9. Spring Boot 2.2.2 发布,新增 2 个新特性!

    Spring Boot 2.2.2 发布咯! Spring Boot 2.2.1 发布,一个有点坑的版本! 2.2.1 发布没过一个月,2.2.2 就来了. Maven依赖给大家奉上: <dep ...

  10. Python(二)Marshmallow 库相关学习

    0. 前言 Marshmallow 是一个用于将 ORM 对象与 Python 原生数据类型之间转换的库.实现 object → dict.object → list.string → dict 和 ...