Python用データ分析モジュール「Pandas」でデータフレームのデータをソートしたり、転置(行と列の入れ替え)する方法をソースコード付きで解説します。
データフレームを転置
Pandasでは、DataFrameObj.Tを用いることで、データフレームを転置(行と列の入れ替え)できます。
ソースコード
サンプルプログラムのソースコードです。
# -*- coding: utf-8 -*- import pandas as pd data = { '名前' : ['西住みほ', '秋山優花里', '武部沙織'], '身長' : [158, 157, 157]} index_data = ['車長', '装填手', '通信手'] # データフレームの初期化 df = pd.DataFrame(data, index = index_data) # 行列入れ替えて表示 print(df.T) """ 車長 装填手 通信手 名前 西住みほ 秋山優花里 武部沙織 身長 158 157 157 """
行(ラベル)を並び替えて抽出
Pandasでは、reindexメソッドを用いることで、データフレームの行(ラベル)を並び替えて抽出できます。
【書式】
DataFrame.reindex(ラベル名を格納した配列)
【返り値】
指定したラベル名の順に行を並び替えたデータフレーム
サンプルプログラムのソースコードは下記の通りです。
【artoria.csv】
サンプルプログラムの実行結果は下記の通りです。
クラス ATK HP レアリティ
アルトリア(リリイ) 剣 7726 10623 4
アルトリア(オルタ) 剣 10248 11589 4
アルトリア(水着) 弓 11276 14553 5
データフレームのラベルソート
Pandasでは、sortメソッドを用いることで、データフレームをラベルで昇順・降順ソートできます。
【書式】
DataFrameObj.sort(columns=’ラベル名’, ascending=True)
【返り値】
昇順ソートされたデータフレームオブジェクト
※ascending=Falseで降順ソートに変更
サンプルプログラムのソースコードは下記の通りです。
サンプルプログラムの実行結果は下記の通りです。
名前 身長
車長 西住みほ 158
装填手 秋山優花里 157
通信手 武部沙織 157
ラベル「名前」で昇順ソート
データフレームのインデックスソート
Pandasでは、sort_indexメソッドを用いることで、データフレームをインデックスで昇順・降順ソートできます。
【書式】
DataFrameObj.sort_index(caxis=1, ascending=True)
【返り値】
昇順ソートされたデータフレームオブジェクト
※ascending=Falseで降順ソートに変更
サンプルプログラムのソースコードは下記の通りです。
サンプルプログラムの実行結果は下記の通りです。
身長 名前
車長 158 西住みほ
装填手 157 秋山優花里
通信手 157 武部沙織
コメント