Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習
by Jake VanderPlas, 菊池 彰
第III部pandasによるデータ操作
「Ⅱ部 NumPyの基礎」では、NumPyとndarrayオブジェクトを解説しました。このオブジェクトは、Pythonで高密度の型付き配列を効率的に格納する手段と、効果的に操作する機能を提供します。Ⅲ部では、pandasライブラリが提供するデータ構造を詳しく調べ、その知識を習得します。pandasは、NumPyの上に構築された新しいパッケージで、効率的なDataFrameの実装を提供します。DataFrameは基本的に行と列のラベルが付加された多次元の配列であり、異なる型のデータや欠落したデータを許容します。pandasはラベル付きデータを格納するための便利なインターフェイスを提供するだけでなく、データベースやスプレッドシート・プログラムのユーザにとって強力で使い慣れたデータ操作も多数実装しています。
NumPyのデータ構造ndarrayは、数値計算作業でよく見られる、きれいで整然としたデータに対して必要不可欠な機能を提供します。こうしたデータには非常にうまく機能するものの、世界中に溢れるさまざまな形式の非構造化データを分析するために必要となる、柔軟なデータ操作(データへのラベル付けや欠損値の扱いなど)や、要素ごとのブロードキャストではうまく対応できない操作(グループ化やピボットなど)に対しては、NumPyの限界が明らかになります。pandas、特にSeriesとDataFrameオブジェクトは、NumPyの配列構造を基にしており、データサイエンティストの作業時間の大部分を占める、このような「データ操作」を効率的に実行する手段を提供します。
このⅢ部では、Series、DataFrame、および関連する構造を効果的に使用する方法に焦点を当てます。実際のデータセットから抽出した例を使用しますが、必ずしもこれらの例自体が重要なわけではありません。 ...