指定した軸に沿った値で並び替える(ソートする)方法を説明する
インデックスで並び替える(sort_index)方法とカラムで並び替える(sort_values)方法がある
インデックスで並び替え【sort_index】
インデックスで並び替えるにはsort_indexを利用する
以下のDataFrameを参考に説明する
df = pd.DataFrame([['pika',88,'Electric',np.NaN],
                   ['rara',80,'Water','Ice'],
                   ['gon',82,'Normal',np.NaN],
                   ['fushi',84,'Grass','Poison'],
                   ['kage',84,'Fire','Flying'],
                   ['kame',84,'Water',np.NaN]],
                  columns=['name','level','type1','type2'],
                  index=[25,131,143,3,6,9])
# 作成したdf確認
print(df)
"""
      name  level     type1   type2
25    pika     88  Electric     NaN
131   rara     80     Water     Ice
143    gon     82    Normal     NaN
3    fushi     84     Grass  Poison
6     kage     84      Fire  Flying
9     kame     84     Water     NaN
"""インデックスを昇順で並び替え
昇順で並び替える時は特に設定なし
# 昇順で並び替え
print(df.sort_index())
"""
      name  level     type1   type2
3    fushi     84     Grass  Poison
6     kage     84      Fire  Flying
9     kame     84     Water     NaN
25    pika     88  Electric     NaN
131   rara     80     Water     Ice
143    gon     82    Normal     NaN
"""インデックスを降順で並び替え
降順で並び替える時はascendingをFalse設定にする
# 降順並び替え
print(df.sort_index(ascending=False))
"""
      name  level     type1   type2
143    gon     82    Normal     NaN
131   rara     80     Water     Ice
25    pika     88  Electric     NaN
9     kame     84     Water     NaN
6     kage     84      Fire  Flying
3    fushi     84     Grass  Poison
"""カラム(列)データで並び替え【sort_values】
カラムデータで並び替えるにはsort_valuesを利用する
上記で利用したDataFrameを参考にする
カラムデータを昇順で並び替え
[level]カラムを昇順に並び替える時は以下の様に指定する
# 昇順で並び替え
print(df.sort_values(by='level'))
"""
      name  level     type1   type2
131   rara     80     Water     Ice
143    gon     82    Normal     NaN
3    fushi     84     Grass  Poison
6     kage     84      Fire  Flying
9     kame     84     Water     NaN
25    pika     88  Electric     NaN
"""カラムデータを降順で並び替え
indexを降順に並び替えした時と同じくascendingをFalseに設定する
# 降順で並び替え
print(df.sort_values(by='level',ascending=False))
"""
      name  level     type1   type2
25    pika     88  Electric     NaN
3    fushi     84     Grass  Poison
6     kage     84      Fire  Flying
9     kame     84     Water     NaN
143    gon     82    Normal     NaN
131   rara     80     Water     Ice
"""並び替えの対象カラムのデータが文字列(英)の場合
以下のとおり、[name]カラムを並び替えるとアルファベット順になる
# 昇順で並び替え
print(df.sort_values(by='name'))
"""
      name  level     type1   type2
3    fushi     84     Grass  Poison
143    gon     82    Normal     NaN
6     kage     84      Fire  Flying
9     kame     84     Water     NaN
25    pika     88  Electric     NaN
131   rara     80     Water     Ice
"""
 
  
  
  
  
コメント