【Python教程】如何使用Jupyter Notebook

Jupyter Notebook 是一个基于 Web 的交互式计算环境,支持 Python、R、Julia 等多种编程语言。它是数据科学家、分析师和研究人员的常用工具。Jupyter Notebook 提供了一个强大的用户界面,可以通过笔记本格式进行代码编写、运行、调试、可视化和文档化。

一、Jupyter Notebook 的安装

  1. 使用 Anaconda 安装 Anaconda 是一个包含了众多科学计算包的 Python 发行版,其中包括了 Jupyter Notebook。安装步骤如下:

    • 下载 Anaconda 安装包:Anaconda官网
    • 按照安装向导完成安装。
    • 打开 Anaconda Navigator,并点击 Jupyter Notebook 启动它。
  2. 使用 pip 安装 如果你已经安装了 Python,可以使用 pip 来安装 Jupyter Notebook:

bash 复制代码
pip install notebook

二、启动 Jupyter Notebook

安装完成后,可以通过以下命令启动 Jupyter Notebook:

bash 复制代码
jupyter notebook

执行该命令后,会自动打开默认浏览器并加载 Jupyter Notebook 主界面。你也可以在浏览器中输入 http://localhost:8888 访问它。

三、Jupyter Notebook 界面介绍

Jupyter Notebook 的界面主要分为以下几个部分:

  1. Notebook Dashboard 这是 Jupyter Notebook 的主界面,显示了当前目录中的所有文件和文件夹。你可以在这里创建新的笔记本、打开现有笔记本或管理文件。

  2. Notebook 界面 打开一个笔记本后,进入代码编辑界面。主要由以下几个部分组成:

    • 菜单栏:包含 File、Edit、View、Insert、Cell、Kernel、Widgets、Help 等选项。
    • 工具栏:提供一些常用操作的快捷按钮,例如保存、添加新单元格、剪切、粘贴、运行单元格等。
    • 单元格区域:主要的编辑区域。单元格有三种类型:代码单元格(Code Cell)、Markdown 单元格(Markdown Cell)和原始单元格(Raw Cell)。

四、单元格类型和操作

1、代码单元格 代码单元格用于编写和运行代码。可以通过 Shift + Enter 运行代码单元格,运行结果会显示在单元格下方。

python 复制代码
print("Hello, Jupyter Notebook!")

2、Markdown 单元格 Markdown 单元格用于编写富文本,支持 Markdown 语法,可以用来写说明文档、标题、列表、表格等。

bash 复制代码
# 这是一级标题
## 这是二级标题
- 这是一个列表项

3、原始单元格 原始单元格不执行代码,也不渲染 Markdown,通常用于保留原始文本或数据。

五、常用快捷键

Jupyter Notebook 提供了许多快捷键,极大地提高了工作效率。以下是一些常用的快捷键:

  • Enter:进入编辑模式
  • Esc:退出编辑模式
  • Shift + Enter:运行当前单元格并跳转到下一个单元格
  • Ctrl + Enter:运行当前单元格
  • Alt + Enter:运行当前单元格并在下方插入一个新单元格
  • B:在下方插入新单元格
  • A:在上方插入新单元格
  • D, D:删除选中的单元格
  • Z:撤销删除单元格
  • M:将单元格类型转换为 Markdown
  • Y:将单元格类型转换为代码

六、Jupyter Notebook 的魔法命令

Jupyter Notebook 提供了一些特殊的命令,称为魔法命令(Magic Commands),用于简化一些常见操作。这些命令分为两类:行魔法(Line Magic)和单元魔法(Cell Magic)。

1、行魔法 行魔法以 % 开头,作用于单行代码。例如:

python 复制代码
%timeit x = [i for i in range(1000)]

2、单元魔法 单元魔法以 %% 开头,作用于整个单元格。例如:

python 复制代码
%%timeit
x = [i for i in range(1000)]
y = [i**2 for i in range(1000)]

七、数据可视化

Jupyter Notebook 支持多种数据可视化库,如 Matplotlib、Seaborn、Plotly 等。以下是一个简单的示例,使用 Matplotlib 进行数据可视化:

python 复制代码
import matplotlib.pyplot as plt
import numpy as np

# 生成数据
x = np.linspace(0, 10, 100)
y = np.sin(x)

# 创建图形
plt.figure(figsize=(10, 5))
plt.plot(x, y, label='Sine Wave')
plt.title('Simple Plot')
plt.xlabel('X axis')
plt.ylabel('Y axis')
plt.legend()
plt.show()

八、Jupyter Notebook 扩展

Jupyter Notebook 有许多扩展(Extensions),可以通过 nbextensions 安装和管理。常用的扩展包括代码折叠、表格编辑器、变量检查器等。

安装 nbextensions:

bash 复制代码
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user

安装后,可以在 Jupyter Notebook 的菜单中找到 Nbextensions 选项卡,启用或禁用所需的扩展。

九、Jupyter Notebook 与 Git 集成

Jupyter Notebook 文件(.ipynb)是 JSON 格式,直接在 Git 中查看会比较困难。可以使用 nbdime 工具来比较和合并 Jupyter Notebook 文件。

安装 nbdime:

bash 复制代码
pip install nbdime

配置 Git 使用 nbdime:

bash 复制代码
nbdime config-git --enable

十、Jupyter Notebook 的进阶用法

1、使用 ipywidgets 进行交互 ipywidgets 库允许在 Jupyter Notebook 中创建交互式控件,如滑块、按钮、文本框等。例如:

python 复制代码
import ipywidgets as widgets
from IPython.display import display

slider = widgets.IntSlider(value=5, min=0, max=10, step=1, description='Number:')
display(slider)

def on_change(change):
    print(f"Slider value: {change['new']}")

slider.observe(on_change, names='value')

2、集成 SQL 查询 可以使用 ipython-sql 扩展来在 Jupyter Notebook 中运行 SQL 查询:

bash 复制代码
pip install ipython-sql

在笔记本中加载扩展并运行查询:

python 复制代码
%load_ext sql
%sql sqlite:///:memory:
%sql CREATE TABLE test (a INT, b TEXT);
%sql INSERT INTO test VALUES (1, 'Hello'), (2, 'World');
%sql SELECT * FROM test;

Jupyter Notebook 是一个功能强大且灵活的工具,广泛应用于数据科学、教学、研究等领域。Jupyter Notebook 的强大之处在于其扩展性和社区支持,建议深入探索和利用各种扩展和工具,提高工作效率。

相关推荐
AI原吾2 小时前
掌握Python-uinput:打造你的输入设备控制大师
开发语言·python·apython-uinput
机器视觉知识推荐、就业指导2 小时前
Qt/C++事件过滤器与控件响应重写的使用、场景的不同
开发语言·数据库·c++·qt
毕设木哥2 小时前
25届计算机专业毕设选题推荐-基于python的二手电子设备交易平台【源码+文档+讲解】
开发语言·python·计算机·django·毕业设计·课程设计·毕设
珞瑜·2 小时前
Matlab R2024B软件安装教程
开发语言·matlab
weixin_455446172 小时前
Python学习的主要知识框架
开发语言·python·学习
孤寂大仙v2 小时前
【C++】STL----list常见用法
开发语言·c++·list
D11_2 小时前
Pandas缺失值处理
python·机器学习·数据分析·numpy·pandas
花生了什么树~.3 小时前
python基础知识(四)--if语句,for\while循环
python
她似晚风般温柔7893 小时前
Uniapp + Vue3 + Vite +Uview + Pinia 分商家实现购物车功能(最新附源码保姆级)
开发语言·javascript·uni-app
咩咩大主教3 小时前
C++基于select和epoll的TCP服务器
linux·服务器·c语言·开发语言·c++·tcp/ip·io多路复用