SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Pythonによるデータ解析入門

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

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


  • このエントリーをはてなブックマークに追加

 本連載では、プログラミングの基本は理解していて、より実践的なデータ解析に取り組みたい方を対象に、スクリプト言語によるデータ解析の実践を解説します。スクリプト言語のなかでも特にデータ解析に役立つライブラリや環境が整っている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のインストールは成功し、ツールを利用できるようになっています。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
対話型データ解析ツール「Jupyter Notebook」

修正履歴

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Pythonによるデータ解析入門連載記事一覧

もっと読む

この記事の著者

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

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook<個人紹介>フリーランスとしてデータ解析エンジニアとして主にビッグデータ関連の仕事をしています。TableauなどBIやビッグデータ処理などビジネスデータ解析環境の構築・運用、また解析系のアプリケーション開発やGoogleアナリティクス活用支援などを行っています。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

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

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10917 2018/07/05 11:39

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング