プログラマによる書籍『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/