2014-07-22 9 views
12

Quando eseguo l'analisi dei dati su IPython Notebook, sento spesso la necessità di spostare su o giù diverse celle di input adiacenti, per un migliore flusso della storia di analisi.È possibile creare il raggruppamento di celle di input in IPython Notebook?

Mi sarei aspettato che una volta creato un titolo, tutte le celle sotto quell'intestazione si muovessero insieme se spostassi l'intestazione. Ma questo non è il caso.

In qualsiasi modo posso farlo?

Modifica: per chiarire, posso ovviamente spostare le celle singolarmente e le scorciatoie da tastiera sono utili; ma quello che sto cercando è un modo per raggruppare le celle in modo che io possa spostarle (o anche cancellarle) tutte insieme.

+0

Credo che la modifica del .ipynb grezzo file (che è fondamentalmente JSON) non è un'opzione? Utilizzi già le scorciatoie da tastiera fornite dal notebook? – sjakobi

+0

L'estensione hierarchical_collapse consente di nascondere un gruppo di celle. Non è quello che sto cercando, ma piuttosto utile per un lungo notebook di analisi dei dati. Puoi scaricarlo qui: https://github.com/ipython-contrib/IPython-notebook-extensions/tree/master/testing/hierarchical_collapse –

+1

Il successore del collasso gerarchico sembra essere [Intestazioni collassabili] (https:// github.it/ipython-contrib/jupyter_contrib_nbextensions/tree/master/src/jupyter_contrib_nbextensions/nbextensions/collapsible_headings) – nealmcb

risposta

9

Io uso un'estensione poco conosciuta, che fa esattamente quello che vuoi (ad esempio "una volta creato un titolo, tutte le celle sotto quell'intestazione si muovono insieme se sposto l'intestazione"). Fa parte di Calico suite, ma può essere installato separatamente.

In particolare, è necessario installare un documento Calico Notebook Extension denominato Strumenti documento. Dalla descrizione:

Le estensioni Calico Document Tools aggiungono sezione di spostamento, numerazione delle intestazioni, sommario e supporto bibliografico. Dimostrazione di utilizzo: https://www.youtube.com/watch?v=YbM8rrj-Bms

non so se le istruzioni di installazione riportate sulla pagina wiki sono aggiornati per IPython 3.0 (febbraio 2015), ma il source-code on BitBucket è in realtà.

Non riesco a installare IPython 3.0 per il momento, ma sono felice di usare questa estensione con IPython 2.x dalla scorsa estate. È fantastico, forse meno versatile rispetto al suggerimento di ASIF Collective Cut-Copy-Paste for IPython Notebooks (che, a proposito, non è stato aggiornato per IPython 3.0), ma IMHO più veloce e più logico.

+0

Grazie. Segnalerò se funziona con IPython 3.0 –

+0

Questo è meraviglioso. Esattamente quello che stavo cercando. Nessun problema con IPython 3 finora. Di nuovo, grazie. –

+1

Grazie per il test su IPython 3 :) Posso chiederti di testare un altro trucco che ho trovato leggendo il codice? se voglio mantenere una sezione non numerata, dovrei essere in grado di anteporre i '#' 'a uno spazio. – Aristide

4

Per qualcuno là fuori che ha bisogno la funzione di raggruppamento: sì, c'è una grande estensione qui: https://github.com/ivanov/nb-cccp

Il i giorni di spostamento di una cella alla volta sono finiti. Apparentemente sarà costruito nella prossima versione di IPython.

+0

Probabilmente non funziona con IPython 3 (non ha funzionato con il mio comunque). Vedi la risposta di Aristide per una soluzione diversa. –

2

Ultima versione di ipython/Jupyter notebook consente di selezionare più celle utilizzando tasto shift che possono essere utili per le operazioni batch quali copia, incolla, cancella, ecc

Problemi correlati