Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習
by Jake VanderPlas, 菊池 彰
第II部NumPyの基礎
Ⅱ部とⅢ部では、Pythonでメモリ上のデータを効果的に読み込み、保存、操作するための方法を説明します。トピックは非常に広範囲にわたります。データセットは幅広いソースと幅広いフォーマットを持ちます。例えば、ドキュメント、画像、サウンドクリップ、数値測定結果、その他あらゆる形式で存在します。このように見かけの違いが明らかであるにも関わらず、基本的にすべてのデータは数値の配列として扱うのに適しています。
例えば、画像、特にデジタル画像は、領域全体のピクセル輝度を表す単純な数値の2次元配列であると考えられます。サウンドクリップは、時間に対する強度の1次元配列と考えられます。テキストは、特定の単語または単語の組み合わせの頻度を表す2進数表現をはじめとして、さまざまな方法で数値表現に変換できます。どのようなデータであれ、それらを分析可能にする最初のステップは、数値配列への変換です(このプロセスの具体的な例については、「40章 特徴量エンジニアリング」を参照してください)。
このため、数値配列の効率的な格納と操作は、データサイエンスのプロセスにとって欠くべからざる要素です。ここではPythonが数値配列を扱うための専用ツール、NumPyパッケージと(Ⅲ部で説明する)pandasパッケージを取り上げます。
ここでは、NumPyについて詳しく説明します。NumPy(Numerical Pythonの略)は、データを高密度のデータバッファへ格納し、操作を行うための効率的なインターフェイスを提供します。いくつかの点で、NumPy配列はPythonの組み込みリスト型と似ていますが、NumPy配列は配列のサイズが大きくなるにつれ、より効率的な格納とデータ操作を提供します。NumPy配列は、Pythonデータサイエンスツールのエコシステムにおける中核であるため、NumPyを効果的に使用するための学習に費やす時間は、データサイエンスで何を行うかに関わらず価値があります。 ...