Jupyter Notebook 入门指南

简介

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。

Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等

安装与运行

1.使用Anaconda安装

对于小白,强烈建议使用Anaconda发行版安装Python和Jupyter,其中包括Python、Jupyter Notebook和其他常用的科学计算和数据科学软件包。

首先,下载Anaconda。建议下载Anaconda的最新Python 3版本。其次,请按照下载页面上的说明安装下载的Anaconda版本。最后,安装成功!

2.使用pip命令安装

对于有经验的Python用户,可以使用Python的包管理器pip而不是Anaconda 来安装Jupyter 。

如果已经安装了Python 3:

python3 -m pip install –upgrade pip

pi3 install jupyter

如果已经安装了Python 2:

python2 -m pip install –upgrade pip

pip2 install jupyter

但推荐使用Anaconda,自带了Numpy、Scipy、Matplotlib等多种python开发包和Jupyter Notebook!

3.运行Jupyter Notebook

成功安装Jupyter Notebook后,在Terminal (Mac / Linux)或Command Prompt(Windows)中运行以下命令就可打开Jupyter Notebook

 

输入 :jupyter notebook

 

执行上面命令之后, Jupyter Notebook 将在你的默认浏览器中打开,网址为:http://localhost:8888/tree

或者在开始菜单页面直接打开

 


主面板(Notebook Dashboard)

 

 

打开Notebook,可以看到主面板。在菜单栏中有Files(文件)、Running(运行)、Clusters(集群)、三个选项。用到最多的是Files,我们可以在这里完成notebook的新建、重命名、复制等操作。

Files 基本上列出了所有的文件,

Running 显示你当前已经打开的终端和Notebooks,

Clusters 由 IPython parallel 包提供,用于并行计算。

要打开一个新的 Jupyter Notebook,请单击页面右侧的“New”选项卡。在这里,你有四个选项可供选择:

⦁ Python 3

⦁ Text File (文本文件)

⦁ Folder (文件夹)

⦁ Terminal (终端)

在 “Text File” 选项中,你会得到一个空白的文档。输入你喜欢的任何字母,单词和数字。它基本上是一个文本编辑器(类似于 Ubuntu 上的应用程序)。你也可以选择一种语言(支持非常多的语言),然后用该语言来写一个脚本。你还可以查找和替换文件中的单词。

在 “Folder” 选项中, 顾名思义它的功能就是创建文件夹。你可以创建一个新文件夹来放入文件,重新命名或者删除它。

“Terminal” 的工作方式与你的 Mac 电脑或 Linux 电脑上的终端完全相同(或者 Windows 上的 cmd )。它在你的Web浏览器中支持终端会话。在这个终端中输入 python ,瞧!现在你已经可以开始写 python 脚本了。

创建python文件

 

从“New”选项中选择 “Python 3” 选项。你会看到如下的截图:

 

代码上方的菜单栏提供了操作单元格的各种选项:

insert (添加),edit (编辑),cut (剪切),move cell up/down (上下移动单元格),run cells(在单元格中运行代码),interupt (停止代码),save (保存工作),以及 restart (重新启动内核)

 

在下拉菜单中(如上所示),你有四个选项:

Code – 这是你输入代码的地方

Markdown – 这是你输入文本的地方。你可以在运行代码后添加结论,添加注释等。

Raw NBConvert – 这是一个命令行工具,可将你的笔记本转换为另一种格式(如 HTML)

Heading – 你可以将标题添加到单独的小节并使你的 Notebook 看起来干净整洁。这个选项现在已经集成到 Markdown 选项中。添加一个“##”,以确保在你之后输入的内容将被视为标题

编辑界面

一个notebook的编辑界面主要由四部分组成:名称、菜单栏、工具条以及单元(Cell),如下图所示:

 

1.在这里,我们可以修改notebook的名字,直接点击当前名称,弹出对话框进行修改: 

 

2.菜单栏详解

2.1 File

   

 

2.2 Edit

 


2.3 View

 


2.4 Insert

 


2.5 Cell

 


2.6 Kernel


2.7 Help

 


3. 工具条

 

工具条中的功能基本上在菜单中都可以实现,这里是为了能更快捷的操作,将一些常用按钮放了出来。下图是对各按钮的解释。

 


4 .单元(Cell)

在单元中我们可以编辑文字、编写代码、绘制图片等等。对于单元的详细内容放在第五节中介绍。

单元(Cell)


1.两种模式与快捷键

 

对于Notebook中的单元,有两种模式:命令模式(Command Mode)与编辑模式(Edit Mode),在不同模式下我们可以进行不同的操作

 

如上图,在编辑模式(Edit Mode)下,右上角出现一只铅笔的图标,单元左侧边框线呈现出绿色,点Esc键或运行单元格(ctrl-enter)切换回命令模式。

 

在命令模式(Command Mode)下,铅笔图标消失,单元左侧边框线呈现蓝色,按Enter键或者双击cell变为编辑状态。

2 .Cell的四种功能

 

 

Cell有四种功能:Code、Markdown、Raw NBConvert、Heading,这四种功能可以互相切换。Code用于写代码,Markdown用于文本编辑,Raw NBConvert中的文字或代码等都不会被运行,Heading是用于设置标题的,这个功能已经包含在Markdown中了。四种功能的切换可以使用快捷键或者工具条

Markdown用于编辑文本,给出常用的Markdown用法

 

 

快捷键

一旦进入命令模式(即没有活动单元格),就可以尝试以下快捷键:

A 键将在选中单元格上方插入新单元格,B 键将在选中单元格下方插入一个单元格

要删除单元格,请连续按两次 D 键

要撤消已删除的单元格,请按 Z 键

Y 键将当前的选中单元格变成代码单元格

按住 Shift + 向上或向下箭头键可以选择多个单元格。在多选模式下,按 Shift + M 会合并选中的单元格

F 键会弹出 “查找和替换” 菜单

处于编辑模式时(在命令模式下按 Enter 键进入编辑模式),你会发现以下快捷键非常好用:

Ctrl + Home 转到单元格的开头

Ctrl + S 会保存你的工作

和上面提过的一样,Ctrl + Enter 将运行你的整个单元格

Alt + Enter 不仅会运行你的单元格,它还会在下方添加一个新的单元格

Ctrl + Shift + F 打开命令选项板


其他

按tab键查看提示信息或者补全命令

在一个库、方法或变量前加上 ?,就可以获得它的一个快速语法说明

使用分号可以阻止该行函数的结果输出

有用的 Jupyter Notebooks 扩展

 

扩展可以有效提高你的 Jupyter Notebooks 的生产力。安装和使用扩展的最佳工具之一是 Nbextensions。它需要两个简单的步骤来安装(也有其他方法,但我发现这是最方便的):

第1步:用 pip 来安装它:

pip install jupyter_contrib_nbextensions

第2步:安装关联的 JavaScript 和 CSS 文件

jupyter contrib nbextension install –user

完成此操作后,你会在 Jupyter Notebook 主页顶部看到一个 Nbextensions 选项卡。这里面有很多非常棒的扩展供你使用

 

要启用一个扩展,只需点击它来激活。我在下面提到了4个我认为最有用的扩展:

Code prettify:重新格式化和美化代码块的内容

Printview:这个扩展添加了一个工具栏按钮来调用当前 Notebook 的 jupyter nbconvert,并可选择在新的浏览器标签中显示转换后的文件

Scratchpad:这个扩展增加一个便捷单元格,它可以让你运行你的代码而不必修改你的 Notebook。这是一个非常方便的扩展,特别是当你想要测试你的代码,但不想在你的活动Notebook上做这件事。

Table of Contents (2):这个扩展可以收集你的 Notebook 中的所有标题,并将它们显示在一个浮动窗口中

保存和共享你的 Notebook

这是 Jupyter Notebook 中最重要和最棒的功能之一。当我需要写博客文章,但我的代码和注释都保存在 Jupyter 文件中时,我需要先将它们转换为另一种格式。请记住,这些 Notebooks 采用 json 格式,在共享它时这并不是很有帮助。我无法在电子邮件或博客上发布不同的单元格或代码块,对吧?

进入 Files 菜单,你会看到一个 Download As 选项:

 

你可以将你的 Notebook 保存为 7 个选项中的任何一个。最常用的是 .ipynb 文件,这样其他人就可以在自己的机器上复制代码;或者保存为 .html 文件, 这样会打开一个网页(当你想要保存嵌入在 Notebook 中的图像时,这会派上用场)

你也可以使用 nbconvert 选项手动将你的 Notebook 转换为不同的格式,如 HTML 或 PDF。

你还可以使用 jupyterhub,它允许你在其服务器上托管 Notebooks 并与多个用户共享。许多顶尖的研究项目都使用这个功能用于协作。

最佳实践

 

虽然单独工作可能很有趣, 但大多数时候你会发现自己是在一个团队中工作。在这种情况下,遵循指导方针和最佳实践非常重要,这样可以确保你的代码和 Jupyter Notebooks 被正确标注,以便与你的团队成员保持一致。下面我列出了一些最佳实践指南,你在 Jupyter Notebooks 上工作时一定要遵循以下指南:

对于任何程序员来说最重要的事情之一:始终确保为代码添加合适的注释!

确保你有代码所需的文档。

考虑一个命名方案,并坚持在所有代码中使用以确保一致性。这样其他人更容易读懂你的代码。

无论你需要什么库,在 Notebooks 开始时导入它们(并在它们旁边添加注释,说明导入它们的目的)。

确保代码中行与行之间有适当间隔,不要把循环和函数放在同一行中。

有时候你会发现你的文件变得非常繁重。看看有没有方法隐藏你认为对于以后参考不太重要的代码。 Notebooks 看起来整洁干净, 让人赏心悦目也非常重要。

Matplotlib 可以很漂亮整洁地展示你的 Notebook,看看怎么使用它!

地址:http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-4-Matplotlib.ipynb

另一个提示! 当你想创建演示文稿时,首先想到的工具是 PowerPoint 和 Google Slides。其实你的 Jupyter Notebooks 也可以创建幻灯片!还记得我说它超级灵活吗? 我一点都没有夸大。

要将你的 Notebooks 转换为幻灯片,请转到  View -> Cell Toolbar,然后单击 Slideshow。看!现在,每个代码块都在右侧显示一个 Slide Type 的下拉选项。它提供了以下 5 个选项:

 

好好试一试每一个选项以更好地理解它,它会改变你呈现你的代码的方式!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/285350.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言试题127之 100 之内的素数

✅作者简介:大家好我是码莎拉蒂,CSDN博客专家🥇🥇🥇 📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 1、题目 题目:求 100 之内的素数 2 、温馨提示 想获取更多C语言题目请猛搓这里==========》200个C语…

MongoDB中的分组

一.MongoDB中的Count函数、Distinct函数以及分组 准备工作&#xff0c;插入一个班级的文档 > for(var i0;i<10;i){ ... db.Classes.insert({ClassName:"Class"i,_id:i}); ... } WriteResult({ "nInserted" : 1 }) > db.Classes.find() { "_i…

在 .NET 6 项目中使用 Startup.cs

对于 .NET 6 项目&#xff0c;现在已经找不到 Startup.cs 文件。默认情况下&#xff0c;此文件已经被删除&#xff0c;并且 Program.cs 是配置依赖注入服务和 Middleware 的新位置。但是&#xff0c;有些人可能更喜欢使用 Startup.cs , 并且我也是&#xff0c;可能已经习惯了&a…

编写iptables脚本实现IP地址、端口过滤

实验案例&#xff1a;公司使用一台运行RHEL5系统的服务器作为网关&#xff0c;分别连接三个网络&#xff0c;其中LAN1为普通员工电脑所在的局域网&#xff0c;LAN2为DNS缓存服务器所在的局域网。eth0通过10M光纤接入Internet。为了有效的管理网络环境及增强内部网络的安全性&am…

让VS Code 支持 Jupyter Notebook

一、Jupyter Notebook Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算&#xff1a;开发、文档编写、运行代码和展示结果。——Jupyter Notebook官方介绍。 Jupyter Notebook是以网页的形式打开&#xff0c;可以在网页页面中直接编写代码和运行代…

C语言试题128之对 10 个数进行排序

✅作者简介:大家好我是码莎拉蒂,CSDN博客专家🥇🥇🥇 📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 1、题目 题目:对 10 个数进行排序 分析:可以利用选择法,即从后 9 个比较过程中,选择一个最小的与…

Windows 11 23H2 25145 推送!全新隐私设置和 OneDrive 体验

面向 Dev 频道的 Windows 预览体验成员&#xff0c;微软现已推送 Windows 11 预览版 Build 25145。主要变化1.微软宣布为 Windows 11 设置引入全新 OneDrive 体验&#xff0c;您可以在设置中查看 OneDrive 云存储服务的订阅详情&#xff0c;包括付费方式、容量大小和定期付费等…

用jekyll制作高大上的网站(二)——实际应用

最近公司要制作个文档库&#xff0c;直接就可以将jekyll应用到实际中。 模版使用了Jekyll Clean&#xff0c;这么模版相对内部简单一点&#xff0c;学习成本不会很大&#xff0c;而复杂的Minimal Mistakes就当作参考。 模版使用的CSS是Bootstrap v3.2.0版本的。为了省时点&…

C语言试题129之求一个 3乘3 矩阵对角线元素之和

✅作者简介:大家好我是码莎拉蒂,CSDN博客专家🥇🥇🥇 📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 1、题目 题目:求一个 3乘3 矩阵对角线元素之和 分析:利用双重 for 循环控制输入二维数组,再将 a[…

ssh key生成

Mac电脑用终端生成SSH key 访问自己的Github 字数684 阅读427 评论4 喜欢15前言&#xff1a;最近有不少刚刚使用github管理代码的开发者或者新手码农在网上 问我如何关联自己的github&#xff0c;今天就写篇文章仅供参考。一、首先你要检测自己电脑是否存在 SSH key 在终端输出…

[转]小白都能看懂的softmax详解

1.softmax初探 在机器学习尤其是深度学习中&#xff0c;softmax是个非常常用而且比较重要的函数&#xff0c;尤其在多分类的场景中使用广泛。他把一些输入映射为0-1之间的实数&#xff0c;并且归一化保证和为1&#xff0c;因此多分类的概率之和也刚好为1。 首先我们简单来看看s…

MAUI 入门教程系列(5.XAML及页面介绍)

前言作为微软的UI框架&#xff0c;除了Winform以外&#xff0c;多数是以创建XAML文件的方式来编写前端的页面&#xff0c;尽管你也可以通过C#代码来编写你的用户界面&#xff0c;与Xamarin.Forms相同&#xff0c;在MAUI上编写XAML的声明方式与其相同&#xff0c;重构了底层部分…

蓝牙mesh网络基础

蓝牙mesh网络基础转载于:https://blog.51cto.com/11534544/2044130

Linux系统开机自启流程

第一步&#xff1a;POST&#xff08;Power On Safe Test&#xff09;加电自检当按下电源键以后&#xff0c;CPU因为有电流通过便开始对自身、I/O设备、内存等硬件进行检验。那么CPU如何得知这些自检指令&#xff1f;我们知道指令存在于内存当中&#xff0c;寻找内存也需要指令。…

ArcGIS空间数据:矢量和栅格数据结构详解

文章目录 矢量数据结构矢量数据简介Shapefile矢量格式栅格数据结构地理数据库中的栅格栅格管理策略栅格数据的地理属性栅格的地理属性通常包括地理数据集中的栅格块表实体栅格表示矢量数据结构 矢量数据简介 基于矢量数据模型的数据结构简称矢量数据结构,是通过记录实体坐标…

C语言试题130之有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中

✅作者简介:大家好我是码莎拉蒂,CSDN博客专家🥇🥇🥇 📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 1、题目 题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中 分析:先判…

[转]一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/kwame211/article/details/88016151 一、目标检测常见算法 object detection&#xff0c;就是在给定的图片中精确找到物体所在位置&#xff0c;并标注出物体的类别。所以&a…

在代码中使用度量单位,从而生活更美好

在我们的应用软件中&#xff0c;涉及到物理化学计算时&#xff0c;只有 Frink 、F#、Modelica 少数语言变量是自带单位的&#xff0c;大部分语言变量仅包含数值&#xff0c;单位转换需要在变量进行公式计算之前完成&#xff0c;计算后再把结果单位转换为输出单位&#xff0c;单…

C#(Sharp)进阶篇:文件操作

文章目录 8.1 文件系统概述8.2 驱动器、目录和文件8.2.1 与IO操作相关的枚举8.2.2 驱动器8.2.3 目录8.2.4 文件8.3 文件流和数据流8.3.1 抽象类Stream8.3.2 文件流FileStream8.3.3 流的文本读写器8.3.4 流的二进制读写器8.3.5 常用的其他流对象8.4 应用实例8.1 文件系统概述

shell中字符串操作【转】

转自&#xff1a;http://blog.chinaunix.net/uid-29091195-id-3974751.html 我们所遇到的编程语言中(汇编除外)都少不了字符串处理函数吧&#xff0c; 当然shell编程也不例外咯&#xff0c;那么下面我们一起来看下shell中字符串 处理的相关操作吧。大概下面的字符串操作可以分为…