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

  • 会員限定
  • 2022/01/26

Python入門(前編)標準ライブラリで何ができる?実例でわかりやすく解説する

連載:G検定対策講座

AI(人工知能)の開発やデータ分析でよく用いられる「Python」。今や米国のあらゆる大学生にとっての必修科目とさえ言われるようになりました。本記事ではPythonの人気の理由、そしてPythonで何が実現できるのかを紹介します。前編ではデータ処理に役立つ便利な標準ライブラリに着目し、Jupyter Notebookを使ったコーディングの実例も交えて解説します。

執筆: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検定(ジェネラリスト)最強の合格テキスト[明瞭解説+良質問題]』をもとに再構成したものです。

Pythonが選ばれる4つの魅力

 プログラミング言語とは、人間からコンピューターに指示を出すために使用する、特定のルールに従って記述された表現体です。

 データサイエンスの分野では、Python、R言語、C言語、Java、などさまざまなプログラミング言語が使われていますが、今、全プログラミング言語の中で一番人気なのがPythonです。Pythonの人気の度合いはPYPL Index(PopularitY of Programming Language Index)からうかがうこともできます。これは、Googleでチュートリアルが検索された数に基づいた指標であり、ここ数年Pythonは常に上位にランクしています。

 Pythonは非常に汎用性の高いプログラミング言語であり、データ分析、機械学習、自動化システムやWebアプリケーションの開発など幅広く活躍しています。たとえば、以下のようなタスクはPythonで書かれたプログラムで簡単に実現できます。

  • スクレイピングを使って、ウェブページから特定の情報を規則的に抜き出す
  • 購買履歴をもとにレコメンドシステムを構築する
  • ディープラーニングを用いて画像の処理を行い、画像認識モデルを学習させる
  • サーバの環境を構築する
  • データベース間でデータのやり取りを行う

 では、なぜPytonが人気なのでしょうか? それには大きく4つの理由があります。

使いやすく、学びやすい
 Pythonはオープンソースのプログラミング言語です。ゆえに、企業でも個人でも予算などを気にせずにすぐに使用できます。

 また、文法や書式がシンプルで分かりやすいため、プログラミング初心者であっても習得しやすい言語になっています。実は、Pythonは、その発明者が周囲の人たちにプログラミングの概念を教えるために開発された言語なのです。

便利な機能を簡単に使えるライブラリが充実
 プログラミングにおけるライブラリとは、便利なデータ処理の機能を用途ごとにまとめた「ツール箱」のような存在です。必要に応じて、使用中のコードの中にライブラリを呼び出し、その機能を利用します。Pythonの応用幅が広いのは、数値計算、データ分析、AIや機械学習の開発に特化した専門性の高いライブラリが豊富にあるためです。

 ライブラリを活用すると、シンプルなコードを書くだけで驚くほど高度な機能を実装できます。これは、複雑な処理がライブラリの「箱」の中に隠されているからです。長い時間をかけて複雑なコードを書く代わりに、企画立案やデータ探索などに時間を割くことができます。

アプリケーション開発のためのフレームワークが充実
 PythonはWebアプリケーションの開発にも使いやすい言語です。Pythonを用いて実装した成果物を、Webサービスとして公開・運用するためのフレームワークが充実しています。ここでいうフレームワークとは、Webアプリケーション開発に活用する便利なテンプレートコードの集合体のことです。ライブラリと同様に、既存のフレームワークを使うことで、シンプルなコードで開発、運用、品質管理を効率よく行うことができます。たとえば、YouTube、Instagram、Dropbox などのWebアプリケーションは、Pythonのフレームワークを用いて開発されています。

ユーザーコミュニティが広い
 Pythonは世界中に数多くの利用者がいます。ユーザーコミュニティがこれだけ大きいと、開発者には多くの意見、指摘、問題提起が寄せられます。そうすると、開発者による機能の更新・改善も早く進みます。また、Pythonユーザーが投稿する技術系ブログなどが、コーディングにおける問題対処のヒントとなります。Pythonで困ったことがあれば、誰かに質問するよりもWebで検索したほうが早いぐらいです。

ライブラリの充実がもたらす2つのメリット

 Pythonが機械学習で使われるのは、Pythonというプログラミング言語そのものが向いているというよりも、前述のようにライブラリが充実しており、機械学習の実装に有利な周辺技術が整備されているからです。このライブラリが充実しているメリットをもう少し詳しくみると大きく2つのポイントがあります。

 1つは、初心者でも専門性と実装難度の高い機能を利用できることです。機械学習モデルをゼロから実装するためには長い年月の勉強が必要であるのに対して、ライブラリの使い方さえ習得すれば、自分で複雑な実装ができなくても、データ加工、機械学習、画像処理などが効率的にできます。

 もう1つは、ライブラリの中身は、高速(だけど複雑な)な言語(CやFortran)で実装され、ユーザーはそれらをシンプルなPythonを通じて利用できます。よって、Pythonの書きやすさを損なわずに処理の高速化・効率化を図ることができます。

 ライブラリは、単体では動作せず、目的に応じてメインプログラムの中へ呼び出して活用します。

画像
プログラムにライブラリを呼び込んで使うイメージ

 ライブラリとともに、よく聞く言葉として「モジュール」や「パッケージ」があります。この3つの用語が厳密に使い分けされていません。強いて分類をすると以下になるでしょう。

  • モジュールの中には、機能を直接提供するクラスや関数が含まれる
  • モジュールは、Pythonのファイル(.py形式)の集合体を指しています。長いコードで記述される機能は、「.py」形式のファイルで保存し、他のプログラムから呼び出して使うことを可能にします。
  • パッケージは、モジュールの集まった「箱」
  • ライブラリは複数のパッケージをまとめてインストールできるようにした集合体
※ただし、モジュール、パッケージを総称してライブラリと呼ぶこともよくあります。

標準ライブラリと外部ライブラリ・パッケージ

 Pythonのライブラリには大きく分けて「標準ライブラリ」と「外部ライブラリ」の2種類があります。標準ライブラリは、Pythonに最初から付属しており、日付データ、ファイル操作などの汎用的な機能を提供しています(今回の記事では標準ライブラリを中心に解説します)。

 外部ライブラリは、AI、機械学習、ディープラーニング、画像処理などに特化した専門性の高い機能群を提供するライブラリです。これはWeb上からダウンロード、インストールできます。次回の記事(後編)では以下の外部ライブラリを紹介します。

  • NumPy: 配列データと画像データの処理
  • Pandas: 表形式データの処理
  • Matplotlib: インタラクティブなデータ可視化

【次ページ】Pythonのコードを実行する環境

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

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

PR

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