筋肉で解決しないために。

日々出会うモノに対する考察をしたり、主に以下のテーマに関して書いています。 データサイエンス/人工知能/AI/機械学習/DeepLearning/Python//数学/統計学/統計処理

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に名前を付ける方法について学びました。

お疲れ様でした!

それじゃー、また。