百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

吃透 Jupyter Notebook(吃透中国史有几本)

zhezhongyun 2025-01-29 19:11 34 浏览

notebook 是 Jupyter项目的重要组件之一,它是一个代码、文本(有标记或无标记)、数据可视化或其它输出的交互式文档。Jupyter Notebook 需要与内核互动,内核是 Jupyter 与其它编程语言的交互编程 协议。Python 的 Jupyter 内核是使用 IPython。Jupyter Notebook 是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。,除此之外,它还提供了一系列魔法操作,今天的文章着重讲解关于 Jupyter notebook 的魔法操作。

Jupyter Notebook 基本操作

安装 Jupyter Notebook

要使用 Jupyter,首先得安装 Jupyter notebook

安装 Jupyter Notebook 有两种方式:

  1. 直接使用命令安装
pip3 install jupyter

2.使用 Anaconda 安装

除了使用 pip 命令安装后,还可以使用 Anaconda 来安装,Anaconda 的下载网址详见官网下载,进入 到这个页面后选择相应的操作系统以及计算机已安装的 Python 对应版本后安装,按照步骤安装好后配置环境变量即可。安装好 Anaconda 后使用命令安装 Jupyter Notebook,安装命令如下:

conda install jupyter notebook

以上两步骤等待安装完即可。

启动 Jupyter notebook

启动程序也很简单,直接在终端输入 Jupyter notebook

jupyter notebook

以上命令运行结果如下:

这样 Jupyter notebook 就启动成功了,在众多平台中,Jupyter notebook 启动成功后会自动打开默认浏览器(在不指定浏览器的情况下),或者可以在启动 notebook 后,手动打开网页 http://localhost:8888/,启动成功后如下图所示

Jupyter notebook 一般都作为本地计算环境,但它也可以部署到服务器上远程访问。

Jupyter notebook 的使用

Jupyter 帮助文档

对于 Jupyter notebook 的使用可以在命令行短使用 jupyter notebook -h 或者 jupyter notebook --help 即可查看相关使用命令,终端输入 jupyter notebook -h 后显示如下:

The Jupyter HTML Notebook.

This launches a Tornado based HTML Notebook Server that serves up an
HTML5/Javascript Notebook client.
...

--gateway-url= (GatewayClient.url)
    Default: None
    The url of the Kernel or Enterprise Gateway server where kernel
    specifications are defined and kernel management takes place. If defined,
    this Notebook server acts as a proxy for all kernel management and kernel
    specification retrieval.  (JUPYTER_GATEWAY_URL env var)

To see all available configurables, use `--help-all`

Examples
--------

    jupyter notebook                       # start the notebook
    jupyter notebook --certfile=mycert.pem # use SSL/TLS certificate
    jupyter notebook password              # enter a password to protect the server

操作页面介绍

要新建一个 notebook,点击按钮 New,选择 “Python3。后进入到操作页面,在操作页面中输一行 Python 代码后按快捷键 Shift-Enter 执行。如下图所示:

在 Jupyter notebook 中,最重要的是对文件中的 cell 或者 cells 进行操作,Cell 菜单主要包含了运行cells、运行cells后并在之后插入新的cell、运行所有cells、运行当前之上的所有cell、运行当前之下的所有cell、改变cell类型(code、markdown、raw nbconvert)等,cell 操作菜单栏如下:

菜单栏详细介绍:

  • File: File 菜单中主要包含了以下功能:创建新的 Notebook、打开新的界面、拷贝当前 Notebook、重命名 Notebook、保存还原点、恢复到指定还原点、查看 Notebook 预览、下载 Notebook 、关闭 Notebook。

这里重点强调下下载 Notebook 选项,它可以将当前 Notebook 转为py文件、html文件、markdown 文件、rest 文件、latex 文件、pdf 文件。

  • Edit: Edit 菜单主要是对 Cells 剪切、复制、删除、向上/向下移动等。
  • Insert: 插入 Cell,插入方式有两种:一种是在当前 cell 上方插入,一种是在当前 cell 下方插入。
  • Cell:Cell 菜单主要包含了运行 cells、运行cells后并在之后插入新的 cell、运行所有 cells、运行当前之上的所有 cell、运行当前之下的所有cell、改变cell类型(code、markdown、raw nbconvert)等.
  • Kernel :Kernel 菜单主要包含了中断 kernel、重启 kernel、重启 kernel 并清除输出、重启 kernel 并运行所有 cell、重连 kernel、关闭 kernel、改变 kernel 类型等。
  • Help:Help 菜单主要包含了用户交互引导、键盘快捷键、修改键盘快捷键、Notebook 帮助、Markdown 帮助、Jupyter-notebook-extensions 帮助、Python 帮助、IPython 帮助、Numpy 帮助、Scipy 帮助、Matplotlib 帮助、Sympy 帮助、pandas 帮助等

同样的 Jupyter notebook 也能写 Markdown 语法,在如图位置选择 标题 后按照 Markdown 语法书写即可,例如:

Jupyter notebook 的基本操作先介绍到这里,接下来开始 Jupyter notebook 的魔法操作。

Jupyter notebook 优点

  • 编程时具有语法高亮、缩进、tab补全的功能。
  • 可直接通过浏览器运行代码,同时在代码块下方展示运行结果。
  • 以富媒体格式展示计算结果。富媒体格式包括:HTML,LaTeX,PNG,SVG等。
  • 支持使用LaTeX编写数学性说明。

Jupyter notebook 魔法操作

魔法命令

IPython 中特殊的命令(在 Python 中没有)被称作“魔术”命令。这些命令可以使普通任务更便捷,更容易 控制 IPython 系统。魔法命令是 magic 函数主要包含两大类:

  • 一类是行魔法(Line magic)前缀为 %
  • 一类是单元魔法 (Cell magic) 前缀为 %%;

使用 %lsmagic 命令查看所有的魔法命令:

%lsmagic

输出为所有的魔法命令

Available line magics:
%alias  %alias_magic  %autoawait  %autocall  %automagic  %autosave  %bookmark  %cd  %clear  %cls  %colors  %conda  %config  %connect_info  %copy  %ddir  %debug  %dhist  %dirs  %doctest_mode  %echo  %ed  %edit  %env  %gui  %hist  %history  %killbgscripts  %ldir  %less  %load  %load_ext  %loadpy  %logoff  %logon  %logstart  %logstate  %logstop  %ls  %lsmagic  %macro  %magic  %matplotlib  %mkdir  %more  %notebook  %page  %pastebin  %pdb  %pdef  %pdoc  %pfile  %pinfo  %pinfo2  %pip  %popd  %pprint  %precision  %prun  %psearch  %psource  %pushd  %pwd  %pycat  %pylab  %qtconsole  %quickref  %recall  %rehashx  %reload_ext  %ren  %rep  %rerun  %reset  %reset_selective  %rmdir  %run  %save  %sc  %set_env  %store  %sx  %system  %tb  %time  %timeit  %unalias  %unload_ext  %who  %who_ls  %whos  %xdel  %xmode

Available cell magics:
%%!  %%HTML  %%SVG  %%bash  %%capture  %%cmd  %%debug  %%file  %%html  %%javascript  %%js  %%latex  %%markdown  %%perl  %%prun  %%pypy  %%python  %%python2  %%python3  %%ruby  %%script  %%sh  %%svg  %%sx  %%system  %%time  %%timeit  %%writefile

Automagic is ON, % prefix IS NOT needed for line magics.

魔术函数默认可以不使用百分号,只要没有变量和函数名相同。这个特点被称为“被动魔术”,可以 使用 %automagic 打开或关闭,一些魔术函数与 Python 函数很像,它的结果可以赋值给一个变量,例如:

path = %pwd
path

输出:

'D:\Software\python3\study'

部分魔法命令详解

魔法函数

函数说明

%run

运行脚本文件(执行外部的代码)

%timeit

测试代码性能(测试一行Python语句的执行时间)

%%itmeit

测试代码性能(执行多行语句)

%lsmagic

列出所有魔法命令

%命令?

查看魔法命令详细说明

%history

输入的历史记录

%xmode

【异常控制 】可以在轨迹追溯中找到错误的原因

%xmode Plain

以紧凑的方式显示异常信息

%debug

用来在交互环境中,调试程序

%pwd

用来显示当前路径

%matplotlib

集成绘图工具 Matplotlib

%paste

执行剪贴板中的代码

%run

%run 表示在 Jupyter notebook 中运行指定的 .py 文件,例如: 创建一个新的 test .py 文件 输入内容后保存,输入内容:

import numpy as np
import pandas as pd
# 创建一个多维数组
data=pd.DataFrame(np.arange(20).reshape(4,5),index=list('abcd'),columns=list('ABCDE'))
print(data)

使用 %run test .py 运行结果如下:

%命令?

%命令? 用来显示命令的用法,例如:

%timeit?

%timeit 和 %%timeit

  • %timeit 命令用来帮助测试系统性能,例如:
strings = ['foo', 'bazzle', 'quxix', 'python'] * 100
%timeit [x for x in strings if x[:3] == 'foo']
  • %%time 将会给出cell的代码运行一次所花费的时间,例如:
%%time
data=pd.DataFrame(np.arange(20).reshape(4,5),index=list('abcd'),columns=list('ABCDE'))
data

%matplotlib

%matplotlib 表示集成绘图工具 Matplotlib,在IPython shell中,运? %matplotlib 可以进?设置,可以创建多个绘图窗口,而不会干扰控制台 session:

在这里还用到另一个命令:%matplotlib inline ,它表示将 Matplotlib 内嵌到 Jupyter notebook 中,具体使用方法如下:

import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt
plt.plot(np.random.randn(60).cumsum())

至此 Matplotlib 模块就集成成功了。

总结

本文详细介绍了 Jupyter notebook 使用以及魔法命令,使用 Jupyter notebook 做数据分析或者模型训练是很多工程师的选择工具之一,希望今天的这篇文章给使用 Jupyter notobook 的伙伴提供帮助,欢迎大家进群交流,我们一起努力,一起进步!

相关推荐

JavaScript中常用数据类型,你知道几个?

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注!作者|慕课网精英讲师Lison这篇文章我们了解一下JavaScript中现有的八个数据类型,当然这并不是JavaScr...

踩坑:前端的z-index 之bug一二(zh1es前端)

IE6下浮动元素bug给IE6下的一个div设置元素样式,无论z-index设置多高都不起作用。这种情况发生的条件有三个:1.父标签position属性为relative;2.问题标签无posi...

两栏布局、左边定宽200px、右边自适应如何实现?

一、两栏布局(左定宽,右自动)1.float+margin即固定宽度元素设置float属性为left,自适应元素设置margin属性,margin-left应>=定宽元素宽度。举例:HTM...

前端代码需要这样优化才是一个标准的网站

  网站由前端和后端组成,前端呈现给用户。本文将告诉您前端页面代码的优化,当然仍然是基于seo优化的。  就前端而言,如果做伪静态处理,基本上是普通的html代码,正常情况下,这些页面内容是通过页面模...

网页设计如何自学(初学网页设计)

1在Dreamweaver中搭建不同的页面,需要掌握HTML的语句了,通过调整各项数值就可以制作出排版漂亮的页面,跟着就可以学习一些可视化设计软件。下面介绍网页设计如何自学,希望可以帮助到各位。Dre...

1、数值类型(数值类型有)

1.1数据类型概览MySQL的数据类型可划分为三大类别:数值类型:旨在存储数字(涵盖整型、浮点型、DECIMAL等)。字符串类型:主要用于存储文本(诸如CHAR、VARCHAR之类)。日期/...

网页设计的布局属性(网页设计的布局属性是什么)

布局属性是网站设计中必不可少的一个重要的环节,主要用来设置网页的元素的布局,主要有以下属性。1、float:该属性设置元素的浮动方式,可以取none,left和right等3个值,分别表示不浮动,浮在...

Grid网格布局一种更灵活、更强大的二维布局模型!

当涉及到网页布局时,display:flex;和display:grid;是两个常用的CSS属性,它们都允许创建不同类型的布局,但有着不同的用法和适用场景。使用flex布局的痛点当我们使...

React 项目实践——创建一个聊天机器人

作者:FredrikStrandOseberg转发链接:https://www.freecodecamp.org/news/how-to-build-a-chatbot-with-react/前言...

有趣的 CSS 数学函数(css公式)

前言之前一直在玩three.js,接触了很多数学函数,用它们创造过很多特效。于是我思考:能否在CSS中也用上这些数学函数,但发现CSS目前还没有,据说以后的新规范会纳入,估计也要等很久。然...

web开发之-前端css(5)(css前端设计)

显示控制一个元素的显示方式,我们可以使用display:block;display:inline-block;display:none;其中布局相关的还有两个很重要的属性:display:flex;和...

2024最新升级–前端内功修炼 5大主流布局系统进阶(分享)

获课:keyouit.xyz/14642/1.前端布局的重要性及发展历程前端布局是网页设计和开发的核心技能之一,它决定了页面元素如何组织和呈现。从早期的静态布局到现代的响应式布局,前端布局技术经历了...

教你轻松制作自动换行的CSS布局,轻松应对不同设备!

在网页设计中,自动换行的CSS布局是非常常见的需求,特别是在响应式设计中。它可以让网页内容自动适应不同屏幕尺寸,保证用户在不同设备上都能够获得良好的浏览体验。本文将介绍几种制作自动换行的CSS布局的方...

晨光微语!一道 CSS 面试题,伴你静享知识治愈时光

当第一缕阳光温柔地爬上窗台,窗外的鸟鸣声清脆悦耳,空气中弥漫着清新的气息。在这宁静美好的清晨与上午时光,泡一杯热气腾腾的咖啡,找一个舒适的角落坐下。前端的小伙伴们,先把工作的疲惫和面试的焦虑放在一边,...

2023 年的响应式设计指南(什么是响应式设计优缺点)

大家好,我是Echa。如今,当大家考虑构建流畅的布局时,没有再写固定宽度和高度数值了。相反,小编今天构建的布局需要适用于几乎任何尺寸的设备。是不是不可思议,小编仍然看到网站遵循自适应设计模式,其中它有...