Computación científica y cuaderno de Ipython: ¿Cómo organizar el código?

Estoy usando Ipython Notebook para mi investigación. A medida que mi archivo crece, extraigo constantemente código, cosas como el método de trazado, el método de ajuste, etc.

Creo que necesito una forma de organizar esto. ¿Hay alguna buena manera de hacerlo?

Actualmente, hago esto por:

data/
helpers/
my_notebook.ipynb
import_file.py

Almaceno datos endata/y extraerhelper method dentrohelpers/y dividirlos en archivos comoplot_helper.py, app_helper.pyetc.

Resumo las importaciones enimport_file.py,

from IPython.display import display

import numpy as np
import scipy as sp
import pandas as pd
import matplotlib as mpl
from matplotlib import pyplot as plt
import sklearn
import re

Y luego puedo importar todo lo que necesito en.ipynb en la celda superior como

La estructura se puede ver enhttps://github.com/cqcn1991/Wind-Speed-Analysis

Un problema que tengo ahora es que tengo demasiados submódulos enhelpers/, y es difícil pensar qué método se debe poner en qué archivo.

Creo que una forma posible es organizarse enpre-processing, processing, post-processing.

ACTUALIZAR:

Mi gran cuaderno de investigación jupyter:https://cdn.rawgit.com/cqcn1991/Wind-Speed-Analysis/master/output_HTML/marham.html

La celda superior esstandard import + magic + extentions

%matplotlib inline
%load_ext autoreload
%autoreload 2

from __future__ import division
from import_file import *
load_libs()

Respuestas a la pregunta(3)

Su respuesta a la pregunta