
8.3
変形とピボット操作
267
8.3.1
階層型インデックスによる変形
階層型インデックスを用いると、データフレームに含まれるデータの形状を一貫した方法で変更でき
ます。基本となるアクションは次の
2
つです。
stack
データ内の各列を行へとピボット(「回転」)させる。
unstack
各行を列へと回転させる。
いくつかの例を用いてこれらの操作を説明していきましょう。行と列のインデックスとして文字列の
配列を持った、小さなデータフレームを考えてみましょう。
In [119]: data = pd.DataFrame(np.arange(6).reshape((2, 3)),
.....: index=pd.Index(['Ohio', 'Colorado'], name='state'),
.....: columns=p
d.Index(['one', 'two', 'three'],
.....: name='number'))
In [120]: data
Out[120]:
number one two three
state
Ohio 0 1 2
Colorado 3 4 5
このデータに対して
stack
メソッドを使うと、列が行にピボットされ、次のようなシリーズが生成さ
れます。
In [121]: result = data.stack()
In [122]: result
Out[122]:
state number
Ohio one 0
two 1
three 2
Colorado on
e 3
two ...