14章インデクスとデータの選択

「Ⅱ部 NumPyの基礎」では、NumPy配列の値を選択し、値の設定や変更を行うための手段とツール、つまりインデクス(arr[2, 1])、スライス(arr[:, 1:5])、マスク(arr[arr > 0])、ファンシーインデクス(arr[0, [1, 5]])、それらの組み合わせ(arr[:, [1, 5]])について詳しく説明しました。ここでは、pandasのSeriesオブジェクトとDataFrameオブジェクトから同じように値を選択し、値を変更するための手段を取り上げます。NumPyのパターンに慣れているなら、対応するpandasのパターンもすぐに理解できるはずですが、注意すべき癖のある特徴もいくつかあります。

まず、1次元であるSeriesオブジェクトの簡単な事例から始め、より複雑な2次元のDataFrameオブジェクトに進みます。

14.1 Seriesのデータ選択

前の章で説明したように、Seriesオブジェクトは多くの点で1次元のNumPy配列のように、そして多くの点で標準のPython辞書のように振る舞います。この2点を念頭に置くと、データのインデクスとデータ選択のパターンを理解できます。

14.1.1 辞書としてのSeries

Python辞書と同じように、Seriesオブジェクトはキーのコレクションから値のコレクションへのマッピングを提供します。

In [1]: import pandas as pd data = pd.Series([0.25, 0.5, 0.75, 1.0], index=['a', 'b', 'c', 'd']) data Out[1]: a 0.25 b 0.50 c 0.75 d 1.00 dtype: ...

Get Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.