指定した軸に沿った値で並び替える(ソートする)方法を説明する
インデックスで並び替える(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
"""
コメント