Pandas.DataFrameの複数カラムの同時ソート
多分100回ぐらい調べてるので、いい加減覚えるために、記事を書いてみた。 ランダム生成したxとyについて、各々降順、昇順で同時にソートする。
import pandas as pd data = [{'x': random.randint(0, 10), 'y': random.randint(1, 5)} for i in range(10)] df = pd.DataFrame(data) df = df.sort(['x', 'y'], ascending=[False, True]) df.reset_index(drop=True, inplace=True) print df
xが8,4,1の場合にソートが有効になっていることが確認できる。
x y 0 10 1 1 8 3 2 8 5 3 6 5 4 4 1 5 4 2 6 4 5 7 1 1 8 1 5 9 0 4