Jupyter Notebook使用教程——从Anaconda环境构建到Markdown、LaTex语法介绍

news2024/12/24 22:07:22

0. 前言

按照国际惯例,首先声明:本文只是我自己学习的理解,虽然参考了他人的宝贵见解及成果,但是内容可能存在不准确的地方。如果发现文中错误,希望批评指正,共同进步。

你是否在视频教程或说明文档或Github或其他场景中见过下面这类东东?

在这里只要在[in]中输入代码,在[out]中就会即时显示输出,更关键的是不用安装任何IDE就可以直接运行代码!这个牛13哄哄的东东就是——Jupyter Notebook。

 IDE,集成开发环境(Integrated Development Environment)是一种综合性的应用程序,它集成了代码编写、编译、调试、版本控制、项目管理和构建工具等多种功能于一身,为开发者提供了一个便捷高效的一站式开发平台,例如下面这些“编写语言的软件”:

本文将系统地介绍Jupyter Notebook的使用方法,涵盖:Anaconda的环境构建、数据库导入、Markdown语法、Jupyter Notebook使用实例、.ipynb文件导入等几个方面。

本文的介绍全部通过图形界面进行,没有命令提示符窗口操作

1. Jupyter Notebook

1.1 Jupyter Notebook简介

Jupyter是一个开源的交互式计算环境,它允许用户创建和共享包含实时代码、方程式、可视化图表和文本说明的文档。这些文档通常被称为“Notebooks”,它们是一个基于Web的应用程序,可以在浏览器中运行,并支持超过40种编程语言,包括但不限于Python、R、Julia等。

Jupyter Notebook融合了实时代码执行、富文本编辑、数据可视化和数学公式支持等功能于一体。用户可在不安装任何软件的前提下,使用单一网页界面编写、运行多种编程语言的代码,并即时查看输出结果。它支持Markdown文档撰写,有利于项目协作、学术研究与教学演示,通过集成众多科学计算库加强了数据科学工作流的效率。Jupyter Notebook有以下好处:

  • 编写可执行代码:在单元格内编写代码片段,实时查看结果;
  • 交互式数据分析:对数据进行清理、转换、探索性分析及可视化;
  • 动态报告:将代码、文字、数学公式和图形结合在一起,形成丰富的文档,便于协作和演示;
  • 教学与学习资源:作为教材或教程,方便学生直接在文档中运行示例代码并观察输出;
  • 版本控制与分享:Notebooks 可以通过GitHub等工具进行版本控制,并方便地分享给他人审阅或复现研究结果;

Jupyter 还拥有强大的生态系统,其中包括 JupyterLab,这是一个下一代交互式开发环境,提供了更为灵活和模块化的界面来处理Notebooks以及其他文件类型。此外,JupyterHub 和 Binder 等项目则支持多用户环境和基于云的Notebook托管服务。

1.2 Jupyter Notebook启动方式

Jupyter Notebook启动有以下两种方式:

①不安装任何软件,直接通过Jupyter官网试用网页版:Intro (jupyter.org)

②先安装Anaconda,然后通过本地应用打开Jupyter Notebook:

启动后也是在网页中,点击“New-->Notebook-->选择kernel”即可创建新的Notebook文档:

这里需要解释下Jupyter Notebook中的kernel:

在Jupyter Notebook(以及其后续版本JupyterLab)中,Kernel是指运行和执行用户代码的计算后端。当你打开一个Notebook并开始编写代码时,Notebook并不是直接执行这些代码,而是通过与一个后台进程(即Kernel)进行通信来执行和获取结果。

具体来说,Kernel代表了一个特定编程语言的解释器或编译器环境,例如Python、R、Julia等。每个Kernel都对应着一个独立的运行环境,其中包含了所有相关的库和依赖包。

这里我推荐通过第②种方法启动Jupyter Notebook,但是可能就有同学会困惑了:上面不是说使用Jupyter Notebook的好处是可以避免安装IDE吗?下面是我自己总结的先安装Anaconda的好处:

  • 相比通过Jupyter官网进入试用版,通过本地安装启动Notebook代码运行更快(试用版经常会卡住不动);
  • 相比IDE的安装,Anaconda的安装及配置要容易得多(反正对于环境管理等方面,Anaconda都是必须的);
  • 试用版Notebook有很多限制,例如不能上传和打开Jupyter Notebook生成的.ipynb文件

2. Anaconda

Anaconda 是一个开源的数据科学平台,它提供了一个强大的软件包管理系统——Conda,用于简化包的安装、管理和环境配置。

可以把Anaconda理解为大规模数据处理、机器学习、数据分析等相关软件的“APP Store”。

2.1 Anaconda安装

Anaconda可以通过官网免费下载使用:Free Download | Anaconda

安装后就可以看到软件全家桶:

在Jupyter Notebook下点击“Install”,安装成功后点击“launch”就可以启动Notebook了。

  →      

2.2 虚拟环境创建

虚拟环境在软件开发中扮演着至关重要的隔离角色,它通过创建独立的Python运行环境来确保不同项目之间不会因为依赖库版本冲突而相互影响。每个虚拟环境都有自己的一份Python解释器副本和独立的第三方包安装目录,使得开发者能够为每个项目配置特定版本的库和工具,从而保证项目的可重复构建与部署,并且简化了多项目并行开发时的依赖管理。

在Anaconda Navigator中创建虚拟环境的操作如下:

这里可以看到我已经有了4个环境:

  • base(root)这个是默认环境,不用创建
  • DL
  • pytorch
  • anaconda3

大家可以按照需求创造自己的环境。

注意:在上面启动Jupyter Notebook时也需要注意是从哪个虚拟环境launch的:

因为不同的虚拟环境下会配置有不同的第三方库

2.3 安装第三方库

即便Jupyter Notebook是基于网页的交互式计算环境,但是在使用前还是需要安装第三方库,否则就会像下面这样:

这就是因为没有先安装'torch'库导致的。

安装第三方库的过程如下:

安装成功后再运行就OK了~

3. Markdown

3.1 Markdown简介

Markdown 是一种轻量级的标记语言,并通过易读易写的纯文本格式实现对文档结构和样式的控制。Markdown 的设计目的是让用户可以专注于内容本身,而非复杂的排版样式,同时其语法简单明了,方便快捷地转换为结构化的HTML、PDF等多种格式。

在Jupyter Notebook中可以选择当前的输入框是想输入文本(Markdown)还是代码:

3.2 Markdown的常用语法

①标题:
使用 `#` 符号表示不同级别的标题,例如:

# 一级标题
## 二级标题
...
###### 六级标题

②段落与换行:
段落之间使用一个空行进行分隔。如果需要在同一行内强制换行,可以在行尾添加两个或多个空格后回车。

③强调:

斜体:使用星号 `*` 或下划线 `_` 包围文字,例如:`*斜体*` 或 `_斜体_`。

加粗:使用两个星号 `**` 或两个下划线 `__` 包围文字,例如:`**加粗**` 或 `__加粗__`。

④引用:

使用大于号 `>` 引领一行或多行文本以创建引用块,嵌套引用则连续使用多个 `>`。

⑤列表:

无序列表:每项前使用 `-`、`+` 或 `*` 开头,如:

- 列表项一
- 列表项二
- 列表项三

有序列表:数字加`.`,如:

1. 第一项
2. 第二项

⑥链接:

直接链接: `[链接文本](链接地址)`,例如:`[Google](https://www.google.com)`

参考式链接: `[链接文本][引用名称]` 在文档任意位置定义 `[引用名称]: 链接地址`。

⑦图片:

图片插入类似链接语法,但在方括号后面加上感叹号 `!`,例如:`![图片描述](图片URL)`

⑧水平线:

通过在一行中输入三个或以上的 `-`、`*` 或 `_` 来创建水平分割线。

4. LaTex

4.1 LaTex介绍

在数学、科技和教育领域,输入公式的语言通常指的是用来描述和展示数学公式、符号以及科学表达式的方法。其中最常见的是LaTeX,它是一种基于TeX的文字处理系统,专门用于排版数学公式、论文和技术文档。

4.2 LaTex的常用语法

关于LaTex编辑公式的内容实在太多,这里不再赘述,引用一篇参考文章:使用CSDN的MarkDown编辑公式_csdn如何打分母分子-CSDN博客

5. Jupyter Notebook使用实例

掌握了上述步骤后,我们就可以写自己的酷炫Notebook文档啦~

点击“Run All Cells”

就会生成下面的文档:

最后别忘了保存好自己的Notebook:

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

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

相关文章

ejs模版引擎使用

ejs express渲染页面需要借助ejs官网传送门使用流程 安装ejs引擎 npm i ejs -S 在app.js入口文件里面设置模版引擎和目录 const path require(path)// 设置项目里面模版存放位置app.set(views, path.join(__dirname, views))// 设置模版引擎app.set(view engine, ejs)在项…

重学SpringBoot3-路径匹配机制

重学SpringBoot3-路径匹配机制 AntPathMatcherPathPatternParser 和 PathPattern演示AntPathMatcher 示例PathPattern 示例性能和精确度的提升 选择使用哪一种 在 Spring Framework 5.3 及 Spring Boot 2.4 之后,引入了一种新的路径匹配机制,这一变化在 …

Buildroot 之一 详解源码及架构

在之前的博文中,我们学习了直接通过 Makefile 手动来进行构建 U-Boot 和 Linux Kernel 等,其实,目前存在多种嵌入式 Linux 环境的构建工具,其中,Buildroot 就是被广泛应用的一种。今天就来详细学习一个 Buildroot 这个自动化构建工具。 Buildroot Buildroot 是一个运行于…

福派斯课堂:怎样选择品质比较好的猫粮?

亲爱的猫友们,我们都知道,猫咪的健康离不开好的饮食,而猫粮作为它们日常的主食,选择一款品质优良的猫粮就显得尤为重要了。那么,如何选择品质比较好的猫粮呢?今天,就让我来给大家支支招吧&#…

PaddlePaddle框架安装

提示:可在python环境中进行安装,避免环境污染,创建命令conda create -n xxx_name python3.9,激活conda activate xxx_name 第一步:查看计算机平台版本 在窗口输入查看命令,查看CUDA的版本 nvidia-smi 二、根据以下条件…

Redis主从架构和管道Lua(一)

Redis主从架构 架构 Redis主从工作原理 如果为master配置了一个slave,不管这个slave是否是第一次连接上Master,它都会发送一个PSYNC命令给master请求复制数据。master受到PSYNC命令,会在后台进行数据持久化通过bgsave生成最新的 RDB快照文件,持久化期间…

Linux之线程控制

目录 一、POSIX线程库 二、线程的创建 三、线程等待 四、线程终止 五、分离线程 六、线程ID:pthread_t 1、获取线程ID 2、pthread_t 七、线程局部存储:__thread 一、POSIX线程库 由于Linux下的线程并没有独立特有的结构,所以Linux并…

[Mac软件]Adobe Illustrator 2024 28.3 intel/M1/M2/M3矢量图制作软件

应用介绍 Adobe Illustrator 是行业标准的矢量图形应用程序,可以为印刷、网络、视频和移动设备创建logos、图标、绘图、排版和插图。数以百万计的设计师和艺术家使用Illustrator CC创作,从网页图标和产品包装到书籍插图和广告牌。 绘制任意大小的标志 拥…

C++进阶之路---多态(一)

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、多态的概念 1.概念 多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为…

[gic]-linux和optee的中断处理流程举例(gicv3举例)

目录 环境配置:说明:举例1、当cpu处于REE,来了一个非安全中断2、当cpu处于TEE,来了一个安全中断3、当cpu处于TEE,来了一个非安全中断4、当cpu处于REE,来了一个安全中断答疑 推荐 本文转自 周贺贺,baron,代码…

ROS2从入门到精通0-2:ROS2简介、对比ROS1与详细安装流程

目录 0 专栏介绍1 什么是机器人操作系统?2 ROS的发展历程3 ROS2与ROS1的区别4 ROS2安装4.1 基本安装4.2 测试ROS24.2.1 测试一:发布者与订阅者4.2.2 测试二:海龟仿真器 5 常见问题 0 专栏介绍 本专栏旨在通过对ROS2的系统学习,掌…

凌鲨开发容器架构

开发容器是基于docker的快速开发搭建方案,在开发容器里面集成了asdf包管理系统和code server ide服务。 这个项目是开源的。 开发容器启动流程 #mermaid-svg-VJYq3izhUZRJA4Eq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fil…

java之mybatis

准备工作 上面4步骤 XML映射文件 动态SQL

git分布式管理-头歌实验冲突处理、忽略文件

一、解决冲突 任务描述 在团队协作开发过程中,可能你和团队中的其他成员,都修改了某个文件的某一部分内容,且其他成员已将该修改推送到了远程仓库。这样当你需要合并他的代码的时候,可能就会在内容上出现冲突,这个时候…

vue之性能优化

1.路由懒加载 所谓路由懒加载,其实就是路由通过import动态引入,而不是在文件最上面一个个全部引入,因为JS执行的时候会优先执行引入的文件,如果一次性引入过多,则会增加处理时长。 2.图片懒加载 图片在网页加载过程…

【CSS】简单的抽屉面板展开收起自然过渡效果的css

目录 效果展示css固定梯形按钮至抽屉面板中间梯形按钮css过渡动画 效果展示 1.收起时点击蓝色梯形按钮展开 2. 展开时点击蓝色按钮收起 3.展开收起时需要过渡自然,有抽屉推拉效果 css 固定梯形按钮至抽屉面板中间 .toggle{ position: absolute;left:-21px;top…

okcc呼叫中心的客服代表应该具备哪些条件?

对每个企业管理者来说,选择最高效和最理想的呼叫中心提供商来简化他们的客户服务操作是一项关键工作内容。除了要确保提供商拥有处理这一重要任务所需的技术和资源之外,确定他们是否具备最高质量的合适人员来执行这项任务同样很重要。 客户服务代表是每…

管理 PostgreSQL 中配置参数的各种方法

管理 PostgreSQL 中配置参数的各种方法 1. 概述 PostgreSQL提供了一个配置文件 postgresql.conf 让用户自定义参数。您可能需要更改一些参数来调整性能或在工作环境中部署 PostgreSQL 服务器。在这篇博文中,我们将探索管理这些参数的不同方法。 2. 以不同方式管理…

mysql的索引、事务、分库分表问题

1.了解MySQL的索引吗?它为什么使用Btree作为底层,而不是其他呢? 这里我们要谈的是其他数据结构的缺点,然后说说Btree的优点,也就看你对MySQL的Btree与其他数据结构熟不熟悉。 Hash (1)Hash 索引…

Django高级之-缓存

Django高级之-缓存 一 缓存介绍 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务…