Make it possible with Python.

最近Pythonから離れ気味、その他物作りに寄り気味です。

Python勉強記録 進め方と Pandasによるデータ処理...

私ははPythonの勉強のため、簡単なプログラムを作ろうとしています。 今作ろうとしているのは、データを集めて、それを元に予測値を出すプログラムです。

こんな流れで一から勉強しながら作業中。

1.データ収集

2.データ整形(?)

3.手動(まずはExcel)でデータ分析・予測式作成

4.上記データ収集、整形、分析、予測のPythonによる自動化

5.Web上で誰でもアクセスできるように

現在は2の途中。

分析したいデータは集まって、整形も目処がついてきました。

ここから先、どこまでPythonでやって、どこからExcelでやればいいのか迷ったので、少し前に買ったこの本を読んでみました。

Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理

Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理

この本で扱うのは以下のライブラリということです。

  • NumPy ・・・ 高速な数値計算用?
  • pandas ・・・ データ構造と、それを扱うための関数?
  • matplotlib ・・・ データ可視化、グラフ描画用
  • IPython ・・・ よくわからない。「全てを結びつけるツール」とのこと
  • SciPy ・・・ NumPyより複雑な科学計算用?

今回知りたいのは、Excelにデータを渡すまでなので、Pandasについて読んでみました。

結果、Pandasでデータを整えてからExcelに渡すことに決めました。

理由は、例えばこんなことがそれぞれ1行のコードでできるらしいため。

  • データ欠けに文字列や平均値などを代入できる。(.fillna メソッド)
  • 空データなど、任意の値が入った点に別の値を代入できる(ブールインデックス参照)

他にもやりたい処理がいろいろ入ってそうな雰囲気があります。

いままで、上記のライブラリについて、「データ解析が早くて楽にできるらしい」という漠然としたイメージしかありませんでしたが、こんなことができるんですね。 

コードを書くこと自体に慣れないうちは便利な関数やメソッドに頼らず、一つ一つ手で書いた方がいいのか、悩みましたが、少しでもコードが短くなることを目指した方がいい気がするので、Pandasを使ってみます。