Caderno de Computação Científica e Ipython: Como organizar o código?
Estou usando o Ipython Notebook para minha pesquisa. À medida que meu arquivo aumenta, eu constantemente extraio código, coisas como método de plotagem, método de ajuste etc.
Eu acho que preciso de uma maneira de organizar isso. Existe alguma boa maneira de fazer isso?
Atualmente, faço isso por:
data/
helpers/
my_notebook.ipynb
import_file.py
Eu armazeno dados emdata/
e extrairhelper method
para dentrohelpers/
e divida-os em arquivos comoplot_helper.py
, app_helper.py
, etc.
Resumo as importações emimport_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
E então eu posso importar tudo o que preciso.ipynb
na célula superior como
A estrutura pode ser vista emhttps://github.com/cqcn1991/Wind-Speed-Analysis
Um problema que tenho agora é que tenho muitos submódulos emhelpers/
e é difícil pensar em qual método deve ser colocado em qual arquivo.
Eu acho que uma maneira possível é organizarpre-processing
, processing
, post-processing
.
ATUALIZAR:
Meu grande caderno de pesquisa jupiter:https://cdn.rawgit.com/cqcn1991/Wind-Speed-Analysis/master/output_HTML/marham.html
A célula superior éstandard import
+ magic
+ extentions
%matplotlib inline
%load_ext autoreload
%autoreload 2
from __future__ import division
from import_file import *
load_libs()