データ解析の環境

本書はデータを処理するためにプログラミング言語の Python とその関連ライブラリを使用します。

  • Python プログラミング言語
  • pandas データ解析ライブラリ
  • SciPy 数値解析ライブラリ
  • NumPy 多次元配列や数学関数のためのライブラリ
  • Matplotlib グラフ描画ツール
  • scikit-learn 機械学習ライブラリ
  • iPython オリジナルの Python シェルを強化したシェル環境

本書に登場するプログラムのコードは上記のようなツールを使うことを前提に書かれています。 処理結果のコードは大抵の場合 iPython で実行した結果を貼り付けています。

科学技術計算に特化した Python ディストリビューションの Anaconda を導入すれば上記の環境を手軽に構築できます。 さらに、強力な対話型シェルを実現する iPython (Anaconda に含まれています)を利用するとコードの再現が簡単でおすすめです。

OS は Mac OS を使っているのでパスの表記や構造は Mac OS の環境に準じます。

ナンバーズの抽せんデータ

実際のナンバーズの当せん番号データは、みずほ銀行のオフィシャルサイト で入手できます。

ただし抽せん日や回号、抽せん数字の履歴が CSV ファイルなど表形式で一括でダウンロードできないので 筆者は http://vvslot.com/ からダウンロードして利用しています。(vvslot.comさん、この場をお借りして御礼申し上げます!)

vvslotさんからのデータを前処理して下記のようなカラム(列)に分割してタブ区切りのテキストファイルとして pandas の DaraFrame を作ってから色々と処理します。

  • 回号
  • 日付
  • 曜日
  • 六曜
  • 抽せん数字
  • 抽せん数字 100の位
  • 抽せん数字 10の位
  • 抽せん数字 1の位

参考にナンバーズ3の第1回から第4170回のデータを公開していますのでダウンロードしてみてください。

ダウンロード: ナンバーズ3の第1回から第4170回のデータ

データ解析の環境が整えば下記のようなコードで pandas の DaraFrame を作ります。

import pandas as pd
df = pd.read_table('numbers3.txt', index_col=0, encoding='utf_8', dtype={'winning': str})
df.head(5)
                  date dayofweek rokuyou winning  place100  place10  place1
number
1       1994-10-07               大安     191         1        9       1
2       1994-10-14               赤口     988         9        8       8
3       1994-10-21               先勝     194         1        9       4
4       1994-10-28               友引     105         1        0       5
5       1994-11-04               大安     592         5        9       2

Python モジュールの読み込み

本書で頻繁に使用する Python のモジュールは以下のようにインポートしています。

import pandas as pd
import numpy as np
import scipy.stats
# グラフ描画
import matplotlib.pyplot as plt
import matplotlib
matplotlib.style.use('ggplot')

さてここまで準備できたら、いよいよナンバーズ予想のためのデータ解析がはじまります!


最終更新日: 2016年08月20日(土)


Back to top