Jupyter Notebook隐藏效率神技大揭秘!10个实用功能帮你玩转数据科学,告别低效编写。
原文标题:每天用Jupyter却只懂点run?这10个神技让效率直接翻倍!
原文作者:数据派THU
冷月清谈:
怜星夜思:
2、文章提到了`Nbextensions`中的可折叠标题功能。除了这个,Jupyter社区还有哪些你觉得特别实用、能大幅提升效率或体验的第三方插件或扩展,是你觉得每个Jupyter用户都应该尝试一下的?
3、这篇文章介绍了这么多Jupyter的“神技”。对于一个Python新手或者刚接触数据科学的人来说,你认为这些技巧的学习顺序应该如何安排?或者说,有哪些是“必学”的基础,而哪些可以稍后再学?对比VS Code等其他IDE,Jupyter在哪些场景下会是你首选,又有哪些场景下你会更倾向于使用其他工具?
原文内容
来源:数据STUDIO本文约1500字,建议阅读5分钟数据人必看:别让 Jupyter 只当 "代码草稿纸"
你是不是也这样用 Jupyter?写完代码点运行,注释全靠 #,调试全凭猜,导出文档乱成麻...
其实 Jupyter 藏着超多 "隐形 buff"!今天扒出 10 个冷门却封神的功能,亲测每天能省 1 小时👇
1. 变量 "定位器":%who & %whos
痛点解决:调试时突然忘记变量名?命名重复导致报错?
-
%who:快速列出当前命名空间所有变量(极简清单) -
%whos:显示变量类型、尺寸甚至值(详细表格)
import numpy as np
data = np.array([1,2,3])
%whos # 输出:data numpy.ndarray (3,) [1 2 3]
调试神器:杂乱笔记本秒变 "变量地图"。
2. 速度 "裁判":%timeit
实用场景:对比两个数据处理函数哪个更快?
只需在代码前加魔法命令,Jupyter 自动多次运行取平均值:
%timeit [i**2for i in range(1000)] # 列表推导式
%timeit np.square(np.arange(1000)) # numpy向量运算
冷知识:加%%timeit(双百分号)可测试整个单元格速度。
3. 终端 "连接器":! 命令
颠覆操作:不用切窗口就能执行终端命令!
!ls # 查看当前目录文件
!pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple # 加速装包
!cat data.csv # 预览文件内容
效率暴击:代码 + 终端操作无缝衔接
4. 代码 "导出机":%%writefile
正确用法:在单元格顶部加命令,一键将代码存为.py 文件:
%%writefile my_utils.py
defclean_data(df):
return df.dropna().reset_index(drop=True)
=验证:用!cat ``my_utils.py查看导出结果。
5. 语法 "字典":? & ??
告别谷歌:忘记函数用法时的急救包。
len? # 单个?:显示函数概述(参数、返回值)
pd.DataFrame?? # 两个?:查看完整源代码
6. 快捷键 "三连杀"
这组组合拳每天能省 50 次鼠标点击!
|
快捷键
|
效果
|
|---|---|
|
Shift + Enter
|
运行单元格 + 跳转到下一个
|
|
Ctrl + Enter
|
运行单元格 + 停留在当前位置
|
|
Alt + Enter
|
运行单元格 + 下方插入新单元格
|
7. Markdown"美化术"
不止是写注释!用 Markdown 把笔记变正式文档:
# 一级标题(报告标题)
## 二级标题(章节名)
- 带编号列表:1. 数据清洗 2. 建模训练
- 数学公式:$y = wx + b$(线性回归)
- 插入图片:
8. 大笔记 "折叠术"
解决痛点:几百行的笔记本翻到崩溃?
分版本安装
-
Jupyter Notebook:
pip install jupyter_contrib_nbextensions # 安装扩展集
jupyter contrib nbextension install --user # 配置
重启后点 "Nbextensions",勾选 "Collapsible Headings"。
-
Jupyter Lab(需 3.0 + 版本):
直接在扩展管理器搜 "Collapsible Headings" 安装
神操作
点击标题旁小三角折叠,命令模式按T键快速切换状态。
9. 导出 "净化术":nbconvert + 标签
👉 场景:给别人看的报告要隐藏调试代码?
步骤:
-
加标签:视图→单元格工具栏→标签,输入以下关键词:
-
remove_input:隐藏代码(保留输出) -
remove_output:隐藏输出(保留代码) -
remove_cell:整行删除 -
导出命令(终端执行):
# 导出无调试代码的HTML
jupyter nbconvert --to html --TagRemovePreprocessor.remove_input_tags="{'remove_input'}" 笔记.ipynb
# 导出PDF(需先装LaTeX)
jupyter nbconvert --to pdf --TagRemovePreprocessor.remove_cell_tags="{'remove_cell'}" 笔记.ipynb
10. 智能 "提示器":Tab 键
👉 比百度快 10 倍:输入一半按 Tab 键。
-
变量 / 函数名自动补全
-
显示对象的所有方法(比如
df.+Tab) -
按住
Shift+Tab:悬浮显示函数文档字符串
写在最后
Jupyter 的强大藏在细节里:用%whos避免变量混乱,用折叠标题理清逻辑,用 nbconvert 输出干净报告...
👇 评论区补充:你还有哪些 Jupyter 私藏技巧?
编辑:文婧
