在IPython Notebook中可以为输入单元格分组吗?

15 投票
4 回答
9242 浏览
提问于 2025-04-18 14:19

在使用IPython Notebook进行数据分析时,我常常觉得需要把几个相邻的输入单元上下移动一下,这样分析的逻辑会更顺畅。

我本以为只要创建了一个标题,标题下面的所有单元格在我移动标题的时候都会一起移动。但事实并不是这样。

有没有什么办法可以做到这一点呢?

补充说明:当然,我可以单独移动每个单元格,快捷键也很方便;但我想要的是一种可以把单元格分组的方法,这样我就可以一起移动(或者删除)它们。

4 个回答

2

最新版本的 Ipython/Jupyter 笔记本允许你使用 Shift 键选择多个单元格,这样可以方便地进行一些批量操作,比如复制、粘贴、删除等等。

2

目前这是不可能的。GitHub上有两个相关的问题在讨论:

4

对于需要分组功能的朋友们:是的,这里有一个很棒的扩展:https://github.com/ivanov/nb-cccp

一次只能移动一个单元格的日子已经结束了。显然,这个功能将在下一个IPython版本中内置。

9

我用的一个不太知名的扩展,正好满足你的需求(也就是说“当我创建一个标题后,标题下的所有单元格如果我移动标题的话都会一起移动”)。这个扩展是 Calico 套件 的一部分,但可以单独安装。

更具体来说,你需要安装一个叫做 Document Tools 的 Calico Notebook 扩展。根据描述:

Calico Document Tools 扩展增加了章节移动、标题编号、目录和参考文献支持。使用演示: https://www.youtube.com/watch?v=YbM8rrj-Bms

我不知道维基页面上的安装说明是否已经更新到 IPython 3.0(2015年2月),但 BitBucket 上的源代码 确实是更新过的。

我目前不能安装 IPython 3.0,但自去年夏天以来,我很高兴能在 IPython 2.x 上使用这个扩展。它非常棒,可能没有 asif.m 提出的 Collective Cut-Copy-Paste for IPython Notebooks 那么多功能(顺便说一下,这个扩展还没有更新到 IPython 3.0),但在我看来,它更快也更合理。

撰写回答