Python
スクレイピング
機械学習
データ分析
前処理

データ前処理に使えるノウハウ満載の書籍『Pythonではじめるデータラングリング』レビュー

プログラマによる書籍『Pythonではじめるデータラングリング』の簡単なレビューです。

本書では、さまざまなデータ処理に関するノウハウが多数紹介されており、データ前処理に悩む方にはおすすめです。

https://www.oreilly.co.jp/books/9784873117942/
Pythonではじめるデータラングリング
――データの入手、準備、分析、プレゼンテーション
Jacqueline Kazil、Katharine Jarmul 著、長尾 高弘 訳、嶋田 健志 技術監修
2017年04月 発行
516ページ
ISBN978-4-87311-794-2
フォーマット Print PDF
原書: Data Wrangling with Python

上記URLに目次が記載されています。各章を通読する必要はなく、必要に応じてひろい読みすれば良いかと思います。

以下気になったところです。

----
データ処理のプロセスは以下の通り。
・ストーリー、問題の設定
・データの明確化
・データのパースとクリーンアップ(獲得、保存、探求)
・プレゼンテーション、データ共有

----
・まず、データの型を決める、確認することが重要
数値
文字列
リスト、辞書

・次に、データを格納するファイル形式を決めることが重要
いわゆるmachine readable(機械可読)なフォーマット
例)
CSV、JSON、XML
そしてExcel
注)エクセル用Pythonライブラリの例
http://www.python-excel.org/
ほかにもさまざまある

注)PDFはパースが難しいので使わない

----
データの獲得について
・APIの長所、短所
長所
すぐアクセスできる
大量のデータがある
ストレージの心配不要

短所
大規模APIはデータの信頼性に欠ける
データが重すぎる
APIの制限やダウンタイムに左右される

----
以下気になったライブラリ
Celery:キューベースの自動化

分散キューシステムを作るためのPythonライブラリ

向いているタスク
・期限がない
・タスク数を知る必要がない
・タスクは必ずしも順番に実行しなくてもよい
・タスクが失敗しても再実行すればよい

逆に上記以外であれば、
一般的なスケジュールベースの処理にすべき


----
最後に
データアナリスト向け
開発者向け
ビジュアルストーリーテラー向け
システムアーキテクト向け
の発展的な課題を示しています

以上、気になったところです。

汎用的な前処理フレームワークは存在しないので、
前処理プラグインを多数準備していくことが、
実装上で必要となります。

以上です。

余談:
データ前処理について、以下のイベントで研究しているので、参加をおすすめします。
https://teamai.connpass.com/event/70920/