初老のボケ防止日記

おっさんのひとりごとだから気にしないようにな。

スポンサーリンク

Python Pandasをさわってみる(1)



実務で開発したプログラムからCSV出力した生データをEXCELで開いてグラフ描いたりとかたまにするんだけど、少し複雑なことをしようとするとEXCELの数式を調べたりVBA使ったりと面倒くさい。そうだ最近はPythonでもそういうことができるんだっけと思ったので「Python Pandas」でも使ってみようではないかと。

Pandasってなに?

Python Data Analysis Library — pandas: Python Data Analysis Library

Pandasは、プログラミング言語Pythonにおいて、データ解析を支援する機能を提供するライブラリである。特に、数表および時系列データを操作するためのデータ構造と演算を提供する。PandasはBSDライセンスのもとで提供されている。

Pandas - Wikipedia

データ解析って何よ。

色々とできそうなんだけど、文系、しかも統計の授業も選択してないオッサンにはさっぱりだ。まあ、とりあえず習うより慣れろだ。

インストールしてみる

環境

OS Windows 8.1(64bit)
Python 2.7.9(32bit)

Pandasのインストールにはpipを使うけど、Pythonは2.7.9から同梱されているらしい。「/Scripts」に「pip.exe」がいるはずなのでそれでも使えなかったらパスに追加しよう。いなかったら自分で入れよう。あとGitBashとかConEmuが使える方がはるかに楽。以降のコマンド実行はGitBash上。

osa030.hatenablog.com

Pandasのインストール

では、Pandasを使える環境を作りましょう。ぶっちゃけVMでUbuntu入れるのが一番ラクだけど、今回は敢えてWindows上に作ってみる。

バイナリパッケージのインストール

Pandasの依存モジュールはC言語で実装されているものとかあるのでpipだとインストール後のビルドでコケると思う。ということで素直に提供されているインストーラで導入。以下のリンクは投稿時点の最新バージョンへの直リンクなので適宜変更して頂戴。

  • NumPy

http://sourceforge.net/projects/numpy/files/NumPy/1.9.2/numpy-1.9.2-win32-superpack-python2.7.exe/download

  • SciPy

http://sourceforge.net/projects/scipy/files/scipy/0.16.0b2/scipy-0.16.0b2-win32-superpack-python2.7.exe/download

  • Matplotlib

http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.4.3/windows/matplotlib-1.4.3.win32-py2.7.exe/download

Pandasのインストール

本体はpipで導入する。

$ pip install pyparsing
$ pip install pandas
IPythonのインストール

まだ入れてなければメッチャ便利なので入れておこう。pyreadlineを入れないとタブ補完もできない木偶の坊だ。

$ pip install ipython
$ pip install pyreadline

試してみる

以下で軽く動作確認。

10 Minutes to pandas — pandas 0.16.2 documentation

$ ipython
Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)]
Type "copyright", "credits" or "license" for more information.

IPython 3.1.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]:
In [1]: import pandas as pd

In [2]: import numpy as np

In [3]: import matplotlib.pyplot as plt

In [4]: s = pd.Series([1,3,5,np.nan,6,8])

In [5]: s
Out[5]:
0     1
1     3
2     5
3   NaN
4     6
5     8
dtype: float64
In [6]: ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))                                                                    
                                                                                
In [7]: ts = ts.cumsum()                                                        
                                                                                
In [8]: ts.plot()                                                               
Out[8]: <matplotlib.axes._subplots.AxesSubplot at 0x52abd30>                    
                                                                                
In [9]: plt.show()                                                              

f:id:osa030:20150619215214j:plain

それっぽく動いている模様。


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

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

スポンサーリンク