開閉ボタン
ユーザーメニュー
ユーザーメニューコンテンツ
ログイン

  • 会員限定
  • 2022/04/21

Python入門(後編)NumPy、Pandas、Matplotlibなどのデータ処理ライブラリ使い方

連載:G検定対策講座

前編では、AIの開発やデータ分析で大活躍するPythonの特徴や人気の理由、Pythonに付属する標準ライブラリの活用法を紹介しました。後編となる本記事では、機械学習における重要なタスクである「データの処理と可視化」に特化した専門ライブラリ(NumPy、Pandas、Matplotlib)を解説します。さらに、Pillowライブラリを用いた画像処理の具体的なイメージもお伝えします。

執筆:GRI データ分析官・講師 ヤン・ジャクリン

執筆:GRI データ分析官・講師 ヤン・ジャクリン

1987年生、北京生まれ、米国東海岸出身(米国籍)、小学高学年より茨城県育ち、東京大学理学部卒、東京大学大学院理学系研究科博士課程修了(理学博士)、高エネルギー加速器研究機構にて博士研究員(素粒子物理学)を経て、2017年7月より現職。
主要実績:
2010-17 国際学会の発表15件、日本物理学会など国内学会の発表5件 Physics Review D, Physical Review Letters等の科学誌への投稿多数
2018〜 データサイエンスの講座を開設、企業向け研修サービスを開始
2019〜 Tableau Desktop Certified Associate 認定資格習得
研修内容:G検定、機械学習、深層学習、Pythonプログラミング、データ加工、可視化分析(Tableau) 他
得意技:驚異的な行動力と素粒子をも通さない隙のない話術

photo

※本記事は『ディープラーニングG検定(ジェネラリスト)最強の合格テキスト[明瞭解説+良質問題]』をもとに再構成したものです。

機械学習とデータ処理に必須の外部ライブラリ

 ここでは、外部ライブラリのうち、分析を行う前の「データ処理」の部分で最も頻繁に利用するものを紹介します。なお、機械学習におけるデータ処理の大切さについては、こちらの記事を参照してください。

NumPy
 NumPyは、多次元配列データを高速に演算することを得意とするライブラリです。ビッグデータを処理する上で演算速度は重要です。画像処理や機械学習の高度なアルゴリズムの多くは、仕様上、入力データをいったんNumPyの配列に変換し、それを引数として受け取ることが前提となっています。

Pandas
 Pandasは表形式データの処理に特化したライブラリです。分析対象となるデータの多くは表形式データ(構造化データ)です。皆さんがよく使うExcel、CSV、SQL型データベースなどが典型例です。Pandasには表形式のデータを柔軟に処理するための機能が豊富にそろっています。以下は、その一例です。

  • データの読み込み・書き出し
  • 特定の条件を満たすデータの検索・抽出・置換
  • データの結合や分割
  • さまざまな統計処理
  • 欠損値の判定と処理

Matplotlib
 Matplotlibは、データを可視化するためのライブラリです。分析プロセスの中で、データを効果的に「見える化」することによって、データの特徴、傾向、問題点などを把握でき、分析手法を的確に選べることができます。ヒストグラム、折れ線グラフ、円グラフ、散布図など多様な表現が可能で、書式設定に対するカスタマイズ性も優れています

機械学習の実装と直接関わるライブラリ
 上記以外に、機械学習を実装するときに使うPythonのオープンソースのライブラリもあります。代表的なものがscikit-learnです。

 scikit-learnは開発が活発に行われているため、改善が高速に進み、サンプルコードやサンプルデータがウェブ上で数多く見つかります。そのため、scikit-learnをインストールすれば、すぐに機械学習を体験することができます。さまざまな種類の機械学習の手法が存在する中で、どのアルゴリズムも似たような記述で利用可能であることも、scikit-learnの大きなメリットといえます。

 機械学習の一種であるディープラーニングに関しても、Pythonのライブラリやフレームワークが充実しています。有名なものとして、TensorFlowやそのラッパーであるKerasPyTorchChainerCaffeなどが挙げられます。

外部ライブラリの使い方

 前編でもお伝えしたように、ライブラリを活用することで、Pythonのシンプルさを享受しながら裏ではデータを高速に処理できます。

 Pythonはスクリプト言語であるため、コンパイル言語に比べて処理速度が劣ります。しかし、Pythonのライブラリの多くはC言語やFortranなどの高速なコンパイル言語で記述されていますので、データ処理速度の心配は無用です。

 たとえば、数値演算は「ネイティブ」のPythonだけでもできますが、高速な言語で記述されたライブラリ(たとえばNumPy)を活用すると計算が格段に速くなります。ライブラリ利用者はPythonのコードの中でライブラリを呼び出すだけなので、C言語を意識する必要はありません。

ライブラリのimport
 ライブラリを使うためには、import文でメインプログラム中に呼び込みます。何通りかの書き方があります。典型的なパターンは以下です。

from パッケージ名 import モジュール名・クラス名・関数名

 コード中で頻繁に書くライブラリの名称は、importする際にエイリアス(略名)を宣言すると便利です。たとえば、次はNumPyをエイリアス「np」としてimportする例です。略名は慣習に従うことが多いです。

画像
NumPyをエイリアス「np」としてimportする例

 以降では、前編で紹介した「Jupyter Notebook」に実装したコード例を交えて、NumPy、Pandas、Matplotlibのそれぞれの用途例を示します。

【次ページ】PandasとMatplotlibの使い方

開発ツール・開発言語 ジャンルのセミナー

開発ツール・開発言語 ジャンルのトピックス

開発ツール・開発言語 ジャンルのIT導入支援情報

PR

ビジネス+IT 会員登録で、会員限定コンテンツやメルマガを購読可能、スペシャルセミナーにもご招待!