当前位置: 首页 > news >正文

软件使用教程(四):Jupyter Notebook 终极使用指南

文章目录

  • 前言
  • 一、Jupyter Notebook 是什么?
  • 二、安装与启动
    • 1. 安装
    • 2. 启动
  • 三、界面与核心概念
  • 四、单元格操作:Notebook的核心
    • 1. 模式
    • 2. 常用快捷键(效率的关键!)
  • 五、Magic命令:Notebook的超能力
  • 六、内核(Kernel)与管理
  • 七、扩展(Extensions)与主题
  • 八、分享你的工作成果
  • 总结


前言

在数据科学、机器学习和科学计算的广阔世界里,有一个工具因其极高的灵活性和交互性而备受青睐,它就是 Jupyter Notebook。无论你是正在学习Python的数据分析新手,还是需要快速原型设计和结果可视化的资深研究员,Jupyter Notebook 都能提供一个无缝衔接代码、文本和多媒体的集成环境。

本教程旨在成为一份从入门到精通的终极指南。我们将从最基础的安装和启动开始,逐步深入到其强大的核心功能与高级技巧,帮助你彻底掌握这把“瑞士军刀”,让你的项目工作流更加高效。


一、Jupyter Notebook 是什么?

Jupyter Notebook 是一个开源的Web应用程序,允许你创建和共享包含实时代码方程式可视化图表叙述性文本的文档。它的名字源于它支持的三种核心编程语言:Julia, Python, 和 R,同时也象征着它对科学计算(“Jupyter”听起来像“Jupiter”)的致敬。

核心价值:

  • 交互式探索:可以单独运行代码单元格,立即看到结果,非常适合数据清洗、转换和可视化。
  • 叙事性展示:将代码、输出结果和解释性文本结合在一个文档中,讲述一个完整的数据故事。
  • 可重复研究:整个分析过程被完整记录,确保结果可以被他人轻松复现。

二、安装与启动

1. 安装

最推荐的方式是通过Python的包管理工具pip进行安装。通常,我们会将其安装在一个虚拟环境中。

# 在命令行/终端中执行
pip install jupyterlab

或者安装经典的Notebook界面:

pip install notebook

2. 启动

安装完成后,在终端中导航到你希望存放笔记本项目的目录,然后输入:

jupyter notebook

或者(如果你安装的是JupyterLab):

jupyter lab

执行命令后,你的默认浏览器会自动打开并显示Jupyter的仪表盘界面(通常是 http://localhost:8888)。

三、界面与核心概念

启动后,你会看到文件浏览器(File Browser)。在这里你可以创建、上传和管理你的笔记本文件。

  • 创建一个新笔记本:点击右上角New -> Python 3(或其他内核),一个新的浏览器标签页将会打开。

一个新的Notebook文档(.ipynb文件)主要由以下部分组成:

  1. 菜单栏(Menu Bar):提供文件操作、编辑、运行内核等高级功能。
  2. 工具栏(Toolbar):常用操作的快捷按钮,如保存、添加单元格、运行单元格等。
  3. 代码单元格(Code Cell):这是你编写和运行代码的地方。光标聚焦时,单元格边框呈绿色。
  4. Markdown单元格(Markdown Cell):用于编写格式化的文本,如标题、列表、链接甚至LaTeX数学公式。光标聚焦时,边框呈蓝色。

四、单元格操作:Notebook的核心

1. 模式

  • 命令模式(Command Mode):按Esc键进入,单元格边框为蓝色。在此模式下,你可以操作整个单元格(移动、删除、切换类型)。
  • 编辑模式(Edit Mode):按Enter键或双击单元格进入,单元格边框为绿色。在此模式下,你可以编辑单元格内的内容。

2. 常用快捷键(效率的关键!)

  • 通用快捷键

    • Shift + Enter:运行当前单元格,并选中下一个单元格。
    • Ctrl + Enter:运行当前单元格,并停留在本单元格。
    • Alt + Enter:运行当前单元格,并在下方插入一个新的代码单元格。
  • 命令模式快捷键(按Esc后)

    • A:在上方插入单元格(Above)。
    • B:在下方插入单元格(Below)。
    • D, D(按两次D):删除当前单元格(Delete)。
    • M:将当前单元格转换为Markdown单元格。
    • Y:将当前单元格转换为代码单元格(Y好像是代码?记不住可以想成‘y’是python代码)。
    • Z:撤销删除操作。
  • 编辑模式快捷键(按Enter后)

    • Ctrl + /:注释/取消注释选中的行。
    • Tab:代码补全或缩进。

五、Magic命令:Notebook的超能力

Magic命令是Jupyter内置的特殊命令,以%%%为前缀,能提供标准Python之外的大量实用功能。

  • 行Magic(单个%)》:只影响一行代码。

    • %run <script.py>:运行一个外部Python脚本。
    • %timeit <statement>:测量一行代码的执行时间。
    • %matplotlib inline极其重要! 让matplotlib绘制的图表直接显示在Notebook页面内。
  • 单元格Magic(两个%%)》:影响整个单元格的代码。

    • %%writefile <filename>:将整个单元格的内容写入到一个文件中。
    • %%html:将整个单元格的内容渲染为HTML。
    • %%bash:在单元格中运行Bash命令。

六、内核(Kernel)与管理

内核是独立运行的“计算引擎”,它负责执行你输入的代码并返回结果。

  • 中断内核(Interrupt):如果代码陷入死循环或运行过长,可以点击工具栏的(停止)按钮来中断它。
  • 重启内核(Restart):点击工具栏的(重启)按钮。这会清除所有变量和导入的模块,从一个干净的状态重新开始。
  • 切换内核:如果你的环境安装了多个Python版本或其他语言(如R,Julia)的内核,你可以在Kernel -> Change Kernel菜单中切换。

七、扩展(Extensions)与主题

Jupyter的功能可以通过扩展(Extensions) 来极大地增强。

对于经典Notebook,可以安装jupyter_contrib_nbextensions

pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install

安装后,你会在仪表盘看到一个Nbextensions标签页,里面有很多实用插件,如代码折叠、目录生成、变量检查器等。

对于JupyterLab,扩展生态系统更加强大和现代,可以通过Extension Manager直接搜索安装,例如:

  • @jupyterlab/toc:自动生成目录。
  • jupyterlab-drawio:嵌入Draw.io图表。
  • jupyterlab-theme-*:各种主题,如暗黑主题。

八、分享你的工作成果

完成分析后,你有多种方式分享你的Notebook:

  1. 分享.ipynb文件:直接发送你的笔记本文件,对方需要有Jupyter环境才能打开。
  2. 导出为其他格式
    • File -> Download as -> HTML (.html)最常用,可以保留所有代码、样式和图表,方便在浏览器中直接查看。
    • File -> Download as -> PDF via LaTeX (.pdf):生成漂亮的PDF报告(需要安装LaTeX)。
    • File -> Download as -> Python (.py):导出为纯Python脚本。
  3. 使用Nbviewer:将你的.ipynb文件上传到GitHub等平台,然后将链接粘贴到https://nbviewer.jupyter.org/,它会自动渲染并提供一个可分享的URL。
  4. 使用JupyterHub/Binder:对于团队或教学,可以部署JupyterHub。Binder则允许任何人通过一个URL直接启动并交互你的Notebook,而无需本地安装。

总结

Jupyter Notebook不仅仅是一个代码编辑器,它是一个动态的计算环境强大的沟通工具。它完美地弥合了“编写代码”和“展示思想”之间的鸿沟。

通过本教程,希望你已经掌握了:

  • 基础:如何安装、启动和创建你的第一个Notebook。
  • 核心:熟练操作单元格、使用快捷键、编写Markdown和代码。
  • 进阶:利用Magic命令和扩展来提升你的生产力。
  • 协作:如何将你的成果以多种形式分享给他人。
http://www.dtcms.com/a/362195.html

相关文章:

  • 数据分析编程第八步:文本处理
  • 设计模式-状态模式 Java
  • 华清远见25072班I/O学习day2
  • PostgreSQL备份指南:逻辑与物理备份详解
  • 椭圆曲线群运算与困难问题
  • 【数据分享】多份土地利用矢量shp数据分享-澳门
  • AI产品经理面试宝典第81天:RAG系统架构演进与面试核心要点解析
  • Qt中的信号与槽机制的主要优点
  • 自动化测试时,chrome浏览器启动后闪退的问题
  • 【趣味阅读】Python 文件头的秘密:从编码声明到 Shebang
  • VisionProC#联合编程相机实战开发
  • 【云存储桶安全】怎么满足业务需求,又最大程度上满足信息安全要求呢?
  • 1792. 最大平均通过率
  • 学习:uniapp全栈微信小程序vue3后台-暂时停更
  • 本地没有公网ip?用cloudflare部署内网穿透服务器,随时随地用自定义域名访问自己应用端口资源
  • 液态神经网络:智能制造的新引擎
  • 【跨境电商】上中下游解释,以宠物行业为例
  • 洛谷 c++ P1177 【模板】排序 题解
  • AutoSar RTE介绍
  • 特征增强方法【特征构建】
  • MVC、三层架构
  • RT-DETR网络结构
  • 并发之线程
  • 【思考】WSL是什么
  • 一、SVN与svnbucket.com常见问题解答
  • 从组分到涌现:系统科学视域下结构、功能与层级的辨析及在人工智能中的应用
  • 设备管理软件正在成为制造业企业的战略重点_HawkEye智能运维平台_璞华大数据
  • 对比Mysql理解OceanBase中的租户设计
  • PostgreSQL 从入门到精通:一场与开源数据库的深度对话
  • 时序数据库国产的有哪些?