数据STUDIO

每天用Jupyter却只懂点run?这10个神技让效率直接翻倍!

Image
Image
数据人必看:别让 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 + 标签

👉 场景:给别人看的报告要隐藏调试代码?

步骤:

  1. 加标签:视图→单元格工具栏→标签,输入以下关键词:
  • 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 私藏技巧?

    🏴‍☠️宝藏级🏴‍☠️ 原创公众号『数据STUDIO』内容超级硬核。公众号以Python为核心语言,垂直于数据科学领域,包括可戳👉Python|MySQL|数据分析|数据可视化|机器学习与数据挖掘|爬虫等,从入门到进阶!

    长按👇关注- 数据STUDIO -设为星标,干货速递ImageImage