Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

本格的なPythonデータ解析環境を手軽に! 「Jupyter Notebook」の導入から可視化まで

Pythonによるデータ解析入門 第1回

2018/07/02 14:00

 本連載では、プログラミングの基本は理解していて、より実践的なデータ解析に取り組みたい方を対象に、スクリプト言語によるデータ解析の実践を解説します。スクリプト言語のなかでも特にデータ解析に役立つライブラリや環境が整っているPythonを取り上げ、対話型解析ツールやライブラリについて導入から解析の実行・可視化までを解説します。本稿ではブラウザで動作するOSSの対話型データ解析ツール「Jupyter Notebook」を紹介します。導入から実際にPythonとライブラリを用いたデータ解析の実行、可視化までの手順を解説します。

目次

対象読者

  • Pythonの基本的な文法を理解しておりデータ解析のスキルアップに取り組みたい方

サンプルの動作確認環境

  • MacOS 10.13
  • Anaconda 5.1
  • Python 3.6
  • Jupyter Notebook 5.4

Pythonとデータ解析環境の概要

 本連載ではPythonによるデータ解析について解説していきます。まずスクリプト言語としてのPythonとデータ解析環境の概要を確認します。

データ解析に適したスクリプト言語

 データを集めたり加工したりする過程でよく使われるのがスクリプト言語です。データ解析の場面で必要なデータはさまざまな場所に存在してます。初めて見るデータを扱うことも珍しくありません。サーバーからダウンロードする場合もあれば、API経由で取得するものもあります。他のツールに受け渡すために、加工(前処理)が必要なデータもあります。スクリプト言語はこのような課題を解決するのに適しています。

 データ解析の分野で使われるスクリプト言語はいくつかありますが、なかでも人気があるのは「R」と「Python」の2つです。Rはもともと統計解析のために開発された言語で、データ解析のライブラリが充実しており、統計解析の専門家に人気があります。

 一方Pythonは、シンプルで汎用的なスクリプト型のプログラミング言語です。豊富なサードパーティー製のライブラリが公開されています。数値計算の分野で用いられてきた歴史があり、データ解析関連のライブラリも充実しています。代表的なものでNumPy(数値計算)、pandas(データ解析)、scikitlearn(機械学習)などがあります。データ解析以外でも、Web開発の分野ではWebアプリケーションフレームワークのDjangoやFlaskが人気があります。

 PythonとRの特徴を比較すると下記の通りになります。 

表:PythonとRの特徴
スクリプト言語 Python   R    
データ解析関連ライブラリ
API連携や複雑なデータ処理

 Pythonは最近ではディープラーニングに対応したTensorFlowなど、特に機械学習のライブラリ・フレームワークが充実してきています。そのためデータを扱うエンジニアの間ではPythonの人気が高まっています。本連載ではこういった理由からPythonを取り上げます。

Pythonによるデータ解析環境

 Pythonによるデータ解析では下記のライブラリがよく使われます。

  • NumPy(数値計算)
  • pandas(データ解析)
  • matplotlib(データ可視化)

 また、これらを利用しながらPythonを実行し、メモや可視化を行うことができるツールとして「Jupyter Notebook」がよく用いられます。

Jupyter Notebookの画面
Jupyter Notebookの画面

 Jupyter Notebookはウェブブラウザで動作します。対話型でPythonなどプログラムを実行することができる多機能なエディターです。上の画面の通り、Pythonのプログラムを実行し、結果を確認する、といったサイクルを回しながら使用します。マークダウン形式でメモを記述したり、グラフを表示したりしながら作成します。全体を表現力のあるドキュメントとしてファイル保存もできます。

 以下ではこれらのツール・ライブラリの導入方法や概要を確認していきます。

データ解析環境の導入方法

 ツールやライブラリを手元のパソコンで動かすための導入方法を紹介します。導入方法はいくつかありますが、Anacondaでの導入をお勧めします。Anacondaはデータ解析環境を導入するための無償のディストリビューションです。BSDライセンスで利用できます。ライブラリやツールを個別でも入れられますが、個別のツール導入時にトラブルが起こることがあります。特にPythonのライブラリ管理に慣れていない方はAnacondaを検討してください。

 Anacondaは公式ページからダウンロードし、インストールします。OSはMac/Linux/Windowsに対応しています。Pythonは3系(Version 3.X)と2系(Version 2.X)があります。ダウンロード時にどちらかを選ぶようになっているので、特に理由がない限り3系を選んでください。

 インストールはOSごとに用意されたインストーラーの指示に従います。インストール後、下記のコマンドをコンソールやコマンドプロンプトで実行してください。

 なお、以下の文章ではMacのコンソールを用いています。Windowsではコマンドプロンプトに置き換えて実行してください。

$ cd ~/jupyter
$ jupyter notebook
Jupyter Notebookのホーム画面
Jupyter Notebookのホーム画面

 上記のようにブラウザでJupyter Notebookが立ち上がればAnacondaのインストールは成功し、ツールを利用できるようになっています。


著者プロフィール

  • WINGSプロジェクト 西 潤史郎(ニシ ジュンシロウ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2017年5月時点での登録メンバは52名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5