本書は「Python1年生」の続編です。今回も予想通り良書です。
内容はスクレイピングに始まり、データの加工・集計と可視化の方法、エクセルファイルの読み書き、オープンデータの活用方法、Web APIの利用方法、からなります。
Pythonの基本の習得した後に、データ分析に進みたい方には最適な入門書です。
開発環境は1年生と同じくPythonと一緒にインストールされるIDLEだけを使います。オブジェクトという言葉すら使わない平易な説明スタイルもそのままです。イラストとの調和も相変わらず絶妙です。さらには、ページ数まで1年生と全く同じです(191ページ)。
本サイトでは、Python入門の1冊目に「Python1年生」をオススメしましたが、スクレイピングからデータ分析を目指す場合は2冊目に本書「Python2年生」を強く推します。何と言ってもこれほどわかりやすいのに、内容もしかっりしている書籍は他に類を見ないからです。
今回は本書でおもに学べる4つの内容をクローズアップして紹介します。
本記事の目次
1. Webスクレイピングが基本から学べる
Webスクレイピングでは、「requests」と「Beautiful Soup」という2つの外部ライブラリを用いるのが代表的な方法です。本書でもこの組み合わせを用いています。
WebスクレイピングにはHTMLの基礎知識が不可欠ですが、HTMLに初めて触れる方でも理解できるようにうまく工夫されています。
応用として、「Yahoo!ニュースの最新トピック一覧の読み取り」、「サンプルページからのリンク一覧取得・画像ダウンロード」をプログラミングしています。どれも自分がプログラミングする時に参考にしやすい内容です。
2. pandasとmatplotlibに入門できる
Webから収集したデータを加工・集計、可視化する方法についても本書で学べます。そこで用いる「pandas」と「matplotlib」という外部ライブラリの使い方を分かり易く説明しています。
特にpandasの説明の分かり易さは素晴らしいです。データ分析の専門書では難しくて理解できなかった方には特にオススメです。CSVファイルを用いてDataFrameの扱い方を実にコンパクトにまとめてくれています。
matplotlibを用いたグラフの作成方法についても、実に要領良くまとめています。ページ数は10ページほどですが、とっかかりを掴むには十分です。日本語の文字化けを防ぐために「japanize_matplotlib」という外部ライブラリも使用しています。
CSVファイルだけでなくExcelファイルも扱えるように「openpyxl」という外部ライブラリの使い方も説明しています。なお、「numpy」は1年生では登場しましたが、本書では使っていません。
3. オープンデータで実習ができる
実際にオープンデータを使って実習ができます。オープンデータには、「郵便番号データ」、「e-Stat」の「人口推計」、「キッズすたっと」の「東京の年別気温データ」、「データシティ鯖江」の「位置データ」ととても充実した題材を扱います。
特にデータシティ鯖江のデータでは、「folium」というマップ分野で人気の外部ライブラリを用いて、消火栓や店舗の位置を地図上にプロットします。Pythonの守備範囲の広さを実感できる好事例です。ぜひ本書で体験してください。
4. Web APIの使い方が学べる
Web APIを使えばプログラムから外部のサービスを利用できます。SaaSのようなクラウドサービスもWeb APIで利用できるので、Pythonのプログラムに組み合わせることが可能になります。
本書では「OpenWeatherMap」という世界中の天気情報を取得できるサービスを利用しています。海外のサービスですが、アカウントの作成やAPIキーの取得の方法を丁寧に解説してくれていますので安心です。
Web APIでデータをやり取りするには、「JSON」というデータ書式を用います。JSONの概要をはじめ、OpenWeatherMapから受け取ったJSONデータの読み取り方について説明しています。さらに、JSONから必要なデータを抽出して、最後はグラフを作成します。
やっぱりオススメです
一見した時は、これだけの内容をどうやって200ページ以内に収めるのかと思いましたが、そこはさすがです。実にバランス良くまとめています。
しばらくはPythonの入門書の定番は「1年生 ▶ 2年生」になりそうです。