質問: エクセルから抽出したデータを前処理した後、統計解析して、結果を描写するといったスクリプトを組んでいます。 最初は1つのPythonファイルで処理をしていたのですが、だんだんとプログラム構造が複雑になってきたので、前処理プログラム、解析プログラム、描写プログラムとファイルを分けて組み始めています。 ただ、こうすると、各ファイルのデータの受け渡しが難しくなりますが、どのように処理したらいいのでしょうか?自分のない知識では以下2つが思い浮かぶのですが、よりよい方法があれば教えていただけたらと思います。 1、CSVを介する 今はデータフレームをcsvに出力させて読み書きしているのですが、統計解析プログラムには出力したい変数が多く、全てをCSVに出力すると、読み込みや変数名の再定義が面倒になってしまいます。 2、各プログラムをモジュール化して、一つのファイルから3つのモジュールを読み込む プログラムとしては可能なのかと思いますが、各ファイルの操作を全てdefやclass化するのが手間です、、、(コード組むのが遅いので)。
回答: 前処理や統計処理に時間がかるので、それはskipして描画だけ調整したい、というような要求も今後恐らく出てくると思います。そう考えると、やはり何らかの形で途中経過をdumpしてやるのが良いのかなぁ、と。 別にdfのCSVでもいいんじゃないかと思いますが、データの種類によってはJSONとかpickleあたりを使ったほうが便利かもしれませんね。単に読み込みが面倒くさいという話なら、DataFrameをpickleとして丸ごと吐くという裏技もあります。 pandas.DataFrame.to_pickle — pandas 0.22.0 documentation で、それはそれとしても、今あるプログラムは関数やクラスとして切り分けて、見通しを良くしておくことをおすすめします。 むしろなんとか手が付けられるうちにやっておかないと、完全に泥沼になります。