Jupyter: 交互式计算的革命

Jupyter 是一个开源项目,旨在为研究人员、数据科学家、教育工作者和软件开发者提供一个交互式计算平台。它最初由 Fernando Pérez 开发,现在已经成为数据科学和科学计算领域最受欢迎的工具之一。本文将介绍 Jupyter 的核心概念、特性以及如何使用 Jupyter 进行交互式数据分析和可视化。

Jupyter 简介

Jupyter(原名 IPython Notebook)是一个交互式计算环境,支持超过 40 种编程语言,包括 Python、R、Julia 和 Scala。Jupyter 的核心是一个 Web 应用程序,允许用户创建和共享包含实时代码、计算、可视化和叙述性文本的文档。

Jupyter 的核心特性

  • 交互式计算:在 Web 浏览器中直接运行代码并查看结果。
  • 多语言支持:支持多种编程语言,通过内核(Kernel)实现。
  • 丰富的文档:文档可以包含 Markdown 文本、LaTeX 数学公式和 HTML 内容。
  • 易于分享:通过 Jupyter Notebook 文件(.ipynb)分享完整的分析过程和结果。
  • 协作编辑:支持多人同时编辑和运行 Notebook。
  • 集成工具:与 Git 等版本控制系统和 Docker 容器技术无缝集成。

使用 Jupyter

安装 Jupyter

Jupyter 可以通过 Anaconda 或 pip 安装。推荐使用 Anaconda,因为它提供了一个完整的科学计算环境。

  • 使用 Anaconda 安装

    bash 复制代码
    conda install jupyter
  • 使用 pip 安装

    bash 复制代码
    pip install notebook

启动 Jupyter Notebook

在终端或命令提示符中运行以下命令启动 Jupyter Notebook 服务器:

bash 复制代码
jupyter notebook

这将在你的默认 Web 浏览器中打开 Jupyter 的仪表板界面。

创建和编辑 Notebook

  • 在 Jupyter 仪表板中点击"New"创建一个新的 Notebook。
  • 使用代码单元(Code Cells)编写和运行代码。
  • 使用 Markdown 单元(Markdown Cells)添加文本、图像和 LaTeX 数学公式。

运行代码

在代码单元中编写代码,然后按 Shift + Enter 运行该单元的代码,并在下方显示结果。

使用魔术命令

Jupyter Notebook 支持 IPython 的魔术命令(Magic Commands),这些命令以 %%% 开头。

  • %matplotlib inline:在 Notebook 中内联显示 Matplotlib 图像。
  • %timeit:测量代码单元的执行时间。

保存和分享 Notebook

  • 保存 Notebook:点击工具栏上的"Save"按钮。
  • 分享 Notebook:将 .ipynb 文件发送给其他用户或上传到 GitHub。

使用 JupyterLab

JupyterLab 是 Jupyter Notebook 的下一代界面,提供了更丰富的功能和更现代化的用户界面。

  • 安装 JupyterLab

    bash 复制代码
    pip install jupyterlab
  • 启动 JupyterLab

    bash 复制代码
    jupyter lab

结语

Jupyter 作为一个交互式计算平台,极大地简化了数据分析、科学计算和教育的过程。通过本文的介绍,你应该能够开始使用 Jupyter 进行交互式计算和数据探索。随着你对 Jupyter 的进一步探索,你将发现它在数据处理和可视化方面的强大能力。

相关推荐
05664616 小时前
Python康复训练——控制流与函数
开发语言·python·学习
天使day16 小时前
FastAPI快速入门
python·fastapi
databook16 小时前
用相关性分析消除“冗余特征”
python·机器学习·scikit-learn
幻想时空17 小时前
地图数据采集
python
梦想不只是梦与想17 小时前
Python 中的类型判断方法
python·type·isinstance
alphaTao18 小时前
LeetCode 每日一题 2026/7/27-2026/8/2
python·算法·leetcode
Kevin Wang72718 小时前
Nvidia-AGX-spark部署手册——课堂质量诊断(jetpack:r36)
python·docker·容器
Python私教19 小时前
Django 6.1 RC1 实测:FETCH_PEERS 两条 SQL 解决 N+1,select_related 还需要吗?
后端·python·django
玉鸯19 小时前
Agent 的任务编排:从 System Prompt 到 Hierarchical Multi-Agent
python·llm·agent
Python私教19 小时前
Django 6.0 自带 Tasks 到底能不能替代 Celery?跑完 3 组后台任务后我有答案了
后端·python·django