私ははPythonの勉強のため、簡単なプログラムを作ろうとしています。 今作ろうとしているのは、データを集めて、それを元に予測値を出すプログラムです。
こんな流れで一から勉強しながら作業中。
1.データ収集
2.データ整形(?)
3.手動(まずはExcel)でデータ分析・予測式作成
4.上記データ収集、整形、分析、予測のPythonによる自動化
5.Web上で誰でもアクセスできるように
現在は2の途中。
分析したいデータは集まって、整形も目処がついてきました。
ここから先、どこまでPythonでやって、どこからExcelでやればいいのか迷ったので、少し前に買ったこの本を読んでみました。

Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理
- 作者: Wes McKinney,小林儀匡,鈴木宏尚,瀬戸山雅人,滝口開資,野上大介
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/12/26
- メディア: 大型本
- この商品を含むブログ (5件) を見る
この本で扱うのは以下のライブラリということです。
- NumPy ・・・ 高速な数値計算用?
- pandas ・・・ データ構造と、それを扱うための関数?
- matplotlib ・・・ データ可視化、グラフ描画用
- IPython ・・・ よくわからない。「全てを結びつけるツール」とのこと
- SciPy ・・・ NumPyより複雑な科学計算用?
今回知りたいのは、Excelにデータを渡すまでなので、Pandasについて読んでみました。
結果、Pandasでデータを整えてからExcelに渡すことに決めました。
理由は、例えばこんなことがそれぞれ1行のコードでできるらしいため。
- データ欠けに文字列や平均値などを代入できる。(.fillna メソッド)
- 空データなど、任意の値が入った点に別の値を代入できる(ブールインデックス参照)
他にもやりたい処理がいろいろ入ってそうな雰囲気があります。
いままで、上記のライブラリについて、「データ解析が早くて楽にできるらしい」という漠然としたイメージしかありませんでしたが、こんなことができるんですね。
コードを書くこと自体に慣れないうちは便利な関数やメソッドに頼らず、一つ一つ手で書いた方がいいのか、悩みましたが、少しでもコードが短くなることを目指した方がいい気がするので、Pandasを使ってみます。