全5020文字

 データ分析に用いられるプログラミング言語は、本連載の前回記事で紹介した「R」以外にもいろいろあります。そのなかで、今回は初心者でも学びやすく汎用性の高いプログラミング言語「Python」を使ったデータ分析の概要を見ていきましょう。Pythonの特徴は、大きく3つ挙げられます。

  • 少ないコードで簡単にプログラムが書ける
  • 文法がシンプルで誰が書いても同じようなプログラムになる
  • Webサービスの開発や機械学習、ビッグデータ解析などさまざまな分野で使用されている

 Pythonは近年、機械学習でよく使われるプログラミング言語として話題です。しかし、実際には機械学習だけでなく、Webサービスやアプリケーションなどさまざまな開発用途に汎用的に利用されています。例えばYouTubeやInstagram、Dropbox、Evernoteといった有名なWebサービスもPythonを採用しています。

 RとPythonとでは、何が違うと考えればいいのでしょう。Rは統計解析に特化したプログラミング言語で、仮説検定や時系列分析などの統計的分析手法や、グラフの描画などが得意です。一方、Pythonの強みはデータ分析以外の幅広い用途でも使える汎用性です。そのため、Pythonはアプリケーションやシステムに組み込んでデータの処理をするのに向いています。利用者の好みや、用途に合った方を使いましょう。

データ分析、機械学習向けのライブラリーが充実

 Pythonでは、データ分析や機械学習向けのライブラリーが数多く公開されています。ライブラリーとは、「ある決まった処理を実行するのに便利な関数の集合」と考えてください。ライブラリーをうまく活用することで、データ分析や機械学習をより簡単にできます。

 その中でも、Pythonにおけるデータ分析に必須のライブラリーが「pandas」です。pandasはExcelファイル、CSVファイルなどから読み込んだテーブル型のデータを扱うライブラリーです。データの読み込みやテーブルの結合、欠損値の確認などができます。

 実際にデータ分析を行う流れに沿って、Pythonでのpandasの使い方を見ていきましょう。前回、Rを使った分析でも例にした「コンビニエンスストアの売り上げに影響を与えている要因」のデータを想定してください。売り上げ、敷地面積、開店時からの経過年数、近くの競合店舗数、駐車場の有無、店舗の種類などをまとめたCSVファイルをPythonのpandasライブラリーを使って分析していきます。

 Pythonにはさまざまな開発・実行環境がありますが、ここでは「Jupyter Notebook」を使っています。Jupyter NotebookではPythonのプログラムを記述し、その実行結果を確認しながらデータの分析作業を進められます。以降に出てくるプログラムの実行画面はいずれもJupyter Notebookです(詳細は後述)。

1. ライブラリーのインポート

 Pythonをインストールできたら、まず必要なライブラリーをインポートしましょう。インポートとは、ライブラリーを呼び出して使える状態にすることです。

 なおこの先に出てくるJupyter Notebookの画面では、グレーの地色の上に表示された部分が入力したコード、その中でも「#」以下は筆者が加えた説明用のコメントに当たります。その下の白地の部分に黒字で表示されるのが、関数などコードの実行結果です。

Pythonでpandasライブラリーとosライブラリーをインポートしているところ
Pythonでpandasライブラリーとosライブラリーをインポートしているところ
[画像のクリックで拡大表示]

 「In〔1〕」は、ユーザーが記述したプログラムを表示する欄です。上から2行目では、「pandas」ライブラリーを「pd」という名前を付けてインポートしています。3行目では「os」というまた別のライブラリーをインポートしました。こちらはOS依存の機能をPythonで書いたプログラムから利用するためのライブラリーです。

 4行目ではPythonを実行している作業ディレクトリー(現在のディレクトリー)を確認するため、「os.getcwd()」関数を実行しています。関数を実行する際には、ライブラリーの名前(ここでは「os」)を頭に付けるのがPythonのルールです。ここまでのプログラムを実行した結果として、「Out〔1〕」に作業ディレクトリー(フォルダー)のパスが表示されているのが分かります。