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

JupyterNotebook全能指南:从入门到精通

一、Jupyter Notebook 简介

Jupyter Notebook 是一个开源的交互式 Web 工具,支持多种编程语言(如 Python、R、Julia),广泛用于数据分析、机器学习、教学和科研。

核心特点
  • 交互式环境:逐行执行代码,即时查看结果

  • 混合内容:支持代码、文本(Markdown)、公式、图表、多媒体

  • 可视化友好:直接内嵌 Matplotlib/Plotly 等图表

  • 跨平台:支持 Windows/macOS/Linux


二、安装与启动

1. 安装方式
# 通过 pip 安装
pip install jupyter notebook# 通过 Anaconda(推荐)
conda install jupyter notebook
2. 启动 Notebook
jupyter notebook

启动后自动在浏览器打开 http://localhost:8888


三、基础操作

1. 界面概览
  • 菜单栏:文件操作、内核控制等

  • 工具栏:常用功能快捷按钮

  • 单元格:代码或文本的编辑单元

2. 单元格类型
类型快捷键用途
CodeEsc + Y编写可执行代码
MarkdownEsc + M编写文档/标题/公式
RawEsc + R原始文本(不执行)
3. 常用快捷键
  • 运行当前单元格Shift + Enter

  • 插入单元格Esc + A(上方)/ Esc + B(下方)

  • 删除单元格Esc + D + D

  • 切换单元格模式Esc + Y/M/R

  • 查找替换Esc + F


四、高效使用技巧

1. 魔法命令(Magic Commands)
# 查看运行时间
%timeit [x**2 for x in range(1000)]# 显示 Matplotlib 图表内嵌
%matplotlib inline# 外部脚本导入
%load script.py
2. 多语言支持
# 切换内核(需提前安装对应内核)
# 例如使用 R 语言
%load_ext rpy2.ipython
3. 扩展插件
# 安装扩展包
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user# 常用扩展:
- Table of Contents:自动生成目录
- Codefolding:代码折叠
- ExecuteTime:显示代码执行时间

五、数据科学与可视化

1. 数据展示
import pandas as pd
df = pd.read_csv("data.csv")
# 直接显示表格(最后一行自动输出)
df.head()
2. 交互式可视化
# Plotly 交互图表
import plotly.express as px
fig = px.scatter(df, x="age", y="income", color="gender")
fig.show()
3. LaTeX 公式支持
$$
F = ma \quad \text{牛顿第二定律}
$$

六、高级功能

1. 调试代码
# 使用 %debug 魔术命令
def faulty_func(x):return x/0%debug faulty_func(1)  # 进入调试器
2. 转换为其他格式
# 转换为 HTML/PDF/Markdown
jupyter nbconvert notebook.ipynb --to html
3. 版本控制
  • 推荐使用 nbdime 工具解决 Notebook 的 Git 差异对比问题:

pip install nbdime
nbdime config-git --enable

七、常见问题解决

内核无响应

  • 重启内核:Kernel > Restart

  • 检查内存使用:!free -h(Linux/macOS)

安装包

# 直接在 Notebook 中安装
!pip install package_name

远程访问

jupyter notebook --ip=0.0.0.0 --port=8888

八、最佳实践

  1. 项目结构建议

my_project/
├── data/          # 原始数据
├── notebooks/     # Jupyter 文件
├── src/           # Python 模块
└── README.md
  1. 性能优化

    • 大数据处理时使用 %%prun 分析性能瓶颈

    • 避免在 Notebook 中存储大量数据(>100MB)

  2. 协作建议

    • 使用 ReviewNB 进行代码审查

    • 定期清理输出结果(Cell > All Output > Clear


九、学习资源

  • 官方文档:jupyter.org

  • 快捷键大全:Help > Keyboard Shortcuts

  • 示例库:Jupyter Notebook Gallery

http://www.lqws.cn/news/155575.html

相关文章:

  • Web-图片上传出现的错误
  • 通过Chain Prompts方式将LLM的能力引入测试平台:正交实验测试用例生成
  • 国芯思辰|SCS5501/5502芯片组打破技术壁垒,重构车载视频传输链路,兼容MAX9295A/MAX96717
  • ServBay 1.13.0 更新,新增第三方反向代理/内网穿透
  • 【Android基础回顾】一:Binder机制是什么?有什么用?
  • Kaggle-Predicting Optimal Fertilizers-(多分类+xgboost)
  • npm install 相关命令
  • 第46节:多模态分类(图像+文本)
  • 【高等数学】傅里叶级数逼近例子
  • 阿里云 Linux 搭建邮件系统全流程及常见问题解决
  • STM32中自动生成Flash地址的方法
  • 肿瘤相关巨噬细胞(TAM)
  • DeepSeek 赋能智能养老:情感陪伴机器人的温暖革新
  • Vue 中组件命名与引用
  • NoSQL 之 Redis 配置与优化
  • C++ 重载和模板
  • 美化显示LLDB调试的数据结构
  • 数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)
  • 【达梦数据库】OOM问题排查思路
  • 03 Deep learning神经网络的编程基础 代价函数(Cost function)--吴恩达
  • 机器学习——什么时候使用决策树
  • Django之表格上传
  • JUnit
  • 实现单例模式的常见方式
  • 基于Java(SpringBoot、Mybatis、SpringMvc)+MySQL实现(Web)小二结账系统
  • 一、ES6-let声明变量【解刨分析最详细】
  • 华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)
  • 快速用 uv 模拟发布一个 Python 依赖包到 TestPyPI 上,以及常用命令
  • 机器学习实验八--基于pca的人脸识别
  • 游戏开发中的CI/CD优化案例:知名游戏公司Gearbox使用TeamCity简化CI/CD流程