pythonでpandasデータフレームを好きな順にソート
概要
pandasのデータフレームを自分の好きな順に並べ替えたいなと思ったので作った. たぶん普通の人はこんなことしないと思う.
コード
# 関数の作成 def predetermined_sort(dataframe, column_name, designated_order): # pandasのインポート import pandas as pd # 列名だけが入っているからのDataFrameを作成. sorted_dataframe = pd.DataFrame(index=[], columns=dataframe.columns) # disignated_orderに入っている単語順にdataframeから行を取り出し, sorted_dataframeに追加 for word in designated_order: temp = dataframe[dataframe[column_name].isin([word])] sorted_dataframe = pd.concat([sorted_dataframe, temp]) # 並べなおしたdataframeを返す. return sorted_dataframe # 実際の使用法 import pandas as pd # dataframeの作成 df = pd.DataFrame({ 'name': ['Banana', 'Apple', 'Orange', 'Apple', 'Orange', 'Banana'], 'price': [100, 90, 60, 150, 80, 120], 'size': ['M', 'S', 'S', 'LL', 'SS', 'L'] }) print(df) # nameをBanana, Orange, Appleの順に並べる. df = predetermined_sort(df, 'name', ['Banana', 'Orange', 'Apple']) print(df)
感想
たぶん他の方法があると思うけど, 参考になれば...