
2.9
構造化データ:
NumPy
の構造化配列
93
2.9
構造化データ:
NumPy
の構造化配列
多くの場合、データは均質な値の配列で十分に表現できますが、そうではない場合もあります。
この節では、
NumPy
の構造化配列とレコード配列を使用して、複合型の異種データを効率的に格
納する方法を示します。ここに示すパターンは単純な操作には有益ですが、このようなシナリオに
対しては第
3
章で取り上げる
pandas
の
DataFrame
が活用できます。
多くの人々に対するいくつかのカテゴリのデータ(例えば、名前、年齢、体重など)があるとし
ましょう。これらの値を
Python
プログラムで使用するために保存したいとします。これらをそれ
ぞれ別の配列に格納することは可能です。
In[1]: import numpy as np
In[2]: name = ['Alice', 'Bob', 'Cathy', 'Doug']
age = [25, 45, 37, 19]
weight = [55.0, 85.5, 68.0, 61.5]
しかし、これはあまり賢い方法ではありません。
3
つの配列がそれぞれ関連していることがわか
りません。
1
つの構造体を使用してこれらのデータをすべて格納できるのであれば、その方が自然
です。
NumPy
では、複合データ型の配列である構造化配列を使って実現できます。
次のような式を使って単純な配列を作成したことを思い出してください。
In[3]: x = np.zeros(4, dtype=int)
同様に、複合データ型指定を使用して、構造化配列を作成することができます。 ...