列 、および を含むデータフレームがあるとしますa
。b
データフレームを列ごとに昇順でc
並べ替え、列ごとに降順で並べ替えたいとします。これを行うにはどうすればよいですか?b
c
質問する
412360 次
3 に答える
684
0.17.0 リリースの時点で、このsort
メソッドは推奨されなくなり、sort_values
. sort
0.20.0 リリースで完全に削除されました。引数 (および結果) は同じままです。
df.sort_values(['a', 'b'], ascending=[True, False])
の昇順の引数を使用できますsort
。
df.sort(['a', 'b'], ascending=[True, False])
例えば:
In [11]: df1 = pd.DataFrame(np.random.randint(1, 5, (10,2)), columns=['a','b'])
In [12]: df1.sort(['a', 'b'], ascending=[True, False])
Out[12]:
a b
2 1 4
7 1 3
1 1 2
3 1 2
4 3 2
6 4 4
0 4 3
9 4 3
5 4 1
8 4 1
@renadeen のコメント
並べ替えはデフォルトでは設定されていません! そのため、sort メソッドの結果を変数に代入するか、メソッド呼び出しに inplace=True を追加する必要があります。
つまり、並べ替えられた DataFrame として df1 を再利用する場合:
df1 = df1.sort(['a', 'b'], ascending=[True, False])
また
df1.sort(['a', 'b'], ascending=[True, False], inplace=True)
于 2013-06-17T06:43:07.113 に答える
68
pandas 0.17.0 の時点でDataFrame.sort()
廃止され、pandas の将来のバージョンで削除される予定です。データフレームを値でソートする方法は次のとおりです。DataFrame.sort_values
そのため、あなたの質問に対する答えは次のようになります
df.sort_values(['b', 'c'], ascending=[True, False], inplace=True)
于 2015-11-20T23:11:35.423 に答える