pandas入門8_「Dataframeにおける階層indexの考え方」
こんにちは、ワタルです。
さっと見て、「あぁそうだったそうだった」と確認できるハンドブックのような存在を目指して。
pandas入門第8回目、「Dataframeにおける階層indexの考え方」です。
今回の学習内容
今回は、階層的なindexを作る方法や、indexやcolumnsに名前を付ける方法について学んでいきます。
今回学ぶ関数
今回は、以下の関数について学びます。
dataframe.index.names = ['INDEX_1','INDEX_2'](indexに名前をつける) dataframe.columns.names = ['Columns1','Columns2'](columunsに名前をつける) dataframe.swaplevel('Columns1','Columns2',axis=1)(列方向の階層を逆にする)
おまじない
import numpy as np from pandas import Series,DataFrame import pandas as pd from numpy.random import randn
#まずは、階層的なindexとcolumnsをもったdataframeをつくります dframe = DataFrame(np.arange(16).reshape(4,4), index=[['a','a','b','b'],[1,2,1,2]], columns=[['A','A','B','C'],['X','Y','Y','X']]) dframe >>>
A | B | C | |||
---|---|---|---|---|---|
X | Y | Y | X | ||
a | 1 | 0 | 1 | 2 | 3 |
2 | 4 | 5 | 6 | 7 | |
b | 1 | 8 | 9 | 10 | 11 |
2 | 12 | 13 | 14 | 15 |
#階層的なindexに名前を付けてみます #以下のように行の名前をつけます dframe.index.names = ['INDEX_1','INDEX_2'] #以下のように行の名前をつけます dframe.columns.names = ['Columns1','Columns2'] dframe >>>
Columns1 | A | B | C | ||
---|---|---|---|---|---|
Columns2 | X | Y | Y | X | |
INDEX_1 | INDEX_2 | ||||
a | 1 | 0 | 1 | 2 | 3 |
2 | 4 | 5 | 6 | 7 | |
b | 1 | 8 | 9 | 10 | 11 |
2 | 12 | 13 | 14 | 15 |
dataframe.swaplevel('Columns1','Columns2',axis=1)(列方向の階層を逆にする)
#階層構造を逆にすることができます。今回は列方向を逆にします dframe.swaplevel('Columns1','Columns2',axis=1) >>>
Columns2 | X | Y | X | ||
---|---|---|---|---|---|
Columns1 | A | A | B | C | |
INDEX_1 | INDEX_2 | ||||
a | 1 | 0 | 1 | 2 | 3 |
2 | 4 | 5 | 6 | 7 | |
b | 1 | 8 | 9 | 10 | 11 |
2 | 12 | 13 | 14 | 15 |
今回は、少し短めでしたが、dataframeにおける階層的なindexを作る方法や、indexやcolumnsに名前を付ける方法について学びました。
お疲れ様でした!
それじゃー、また。