ISBN 9784873118086

Python と JavaScriptではじめるデータビジュアライゼーション

Python と JavaScriptではじめるデータビジュアライゼーション
刊行
2017-08

概要

PythonとJavaScriptで実装するデータ収集から可視化までのフルパイプライン

想定読者

データ分析の一連の流れを実務で構築したいWebエンジニアまたはデータエンジニア。PythonとJavaScriptをある程度扱える読者

こんな人には向いていない

  • プログラミング未経験者。PythonとJavaScriptの基礎知識を前提としており、両言語を同時に学ぼうとする初学者には学習コストが高い
  • 最新ライブラリのAPIやWebサイト構造に依存するコード例が多く、サンプルをそのまま動かすことを期待する読者には注意が必要(2017年刊行のためXPath等が現在のWebサイト構造と合わない箇所がある)
  • D3.jsによる可視化のみを深掘りしたい読者。本書はパイプライン全体を浅広くカバーするため、D3.js専門書の代替にはならない

読了後にできるようになること

  • BeautifulSoupとScrapyを使ったWebスクレイピングによるデータ取得の実装パターン
  • pandasとNumPyを用いたデータクリーニング・集計・分析の基礎操作
  • FlaskによるAPIサーバ構築とJSONデータの配信方法
  • D3.jsを使ったインタラクティブなWebブラウザ向け可視化の実装
  • CSVとJSONのPythonでの読み書き処理とデータ型変換の実務的な扱い方
  • ノーベル賞受賞者データを題材にした、収集から可視化までのエンドツーエンドのプロジェクト構築

ハイライト

  • 本書はデータ可視化データフローを最初から終わりまでカバーします。生データを取得して、効率よく整理、分析を行い効果的な可視化を実現するには、さまざまなツールとテクニックが必要です(本書の最大の特徴であるパイプライン全体カバーという立場が端的に述べられている箇所)
  • 書籍通りにコーディングしても100%うまくいきません(刊行から年数が経過しているため、サンプルコードの動作確認が必要という実務上の注意点を示す声)

外部からの言及

  • 本書を参照しながらPythonでのCSV/JSONファイル操作を学んだ記事が複数投稿されており、データ取得・整理フェーズのハンズオン教材として活用されている。ただし執筆環境がJupyter Notebookで書籍サンプルとの差異に対処しながら進める例が多い(qiita)
  • Scrapyを使ったスクレイピング章(第6章)については、対象WebサイトのHTML構造変化によりXPathが現在のWikipediaに合わなくなっており、修正コードを共有する記事が存在する。内容自体は良書との評価を保ちつつ、実行時は読者自身による修正が必要という指摘が目立つ(qiita)

編集メモ

Qiita言及3件 / 累計likes54 / 直近5年で新規言及1件(2021年)。刊行2017年で言及は初期に集中しており、現在は参照頻度が低下している。パイプライン全体を俯瞰する入門書として価値はあるが、個別ツールの専門書が充実した現在では補完的な位置づけ

読む前に押さえておきたいこと

  • PythonとJavaScriptそれぞれの基本文法(変数・関数・リスト/配列・辞書/オブジェクト)
  • HTMLの基礎構造とセレクタの概念(スクレイピング章の理解に必要)
  • コマンドラインでの仮想環境構築とpipによるパッケージインストールの経験
  • Jupyter Notebookの基本操作

学習のコツ

  • Python側(BeautifulSoup/Scrapy/pandas/Flask)とJavaScript側(D3.js)で使用言語が切り替わるため、自分の弱い言語の章は公式ドキュメントを手元に置きながら読むと効率が良い
  • 第6章のScrapyスパイダーは刊行後のWikipedia構造変化で動かないコードがある。Qiita等で修正例を参照しながら動作確認することを前提として読み進めると詰まりにくい
  • ノーベル賞データという単一題材をパイプライン全体に一貫して使う構成なので、各章を独立した技術解説としてではなくプロジェクト進行の流れとして読むと学習効果が高い
  • D3.jsのビジュアライゼーション章は概念把握に留め、インタラクティブ実装を深掘りしたい場合は別途D3.js専門書を併用することを推奨する
出版社による内容紹介

Webからデータを取得して整理・分析し可視化するまで一連の流れがわかる! 本書はデータ可視化データフローを最初から終わりまでカバーします。生データを取得して、効率よく整理、分析を行い効果的な可視化を実現するには、さまざまなツールとテクニックが必要です。本書では場面によってPythonとJavaScriptを使い分け、それぞれの言語の強みを最大限利用します。具体的にはPythonのBeautifulSoupとScrapyでデータを取得、pandas, matplotlib, Numpyでデータ処理を行い、PythonのFlaskフレームワークを使ってデータを配信、D3.jsを使ってインタラクティブなWeb可視化を実現します。サンプル豊富な実践的な一冊です。

この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。

質問に答えるだけで、
あなたに合う専門書が見つかる

IT・デザイン・士業・医療・経理・教育・研究 ほか、あらゆる分野の専門書と 「読む順序」(学習ロードマップ)を収録。何を選べばいいか分からなくても、 いくつかの質問に答えるだけでたどり着けます。