ホームページ >バックエンド開発 >Python チュートリアル >Pandas DataFrame を複数の列で昇順と降順に並べ替えるにはどうすればよいですか?
複数の列による Pandas データフレームの並べ替え
複数の列による Pandas データフレームの並べ替えは、データ分析における一般的な操作です。列「a」、「b」、および「c」を持つデータフレームを考えてみましょう。このデータフレームを列 'b' で昇順、列 'c' で降順に並べ替えるには、次の手順に従います。
Pandas バージョン 0.17.0 以降、sort_values が優先され、sort メソッドは非推奨になりました。バージョン 0.20.0 では、並べ替えは完全に削除されました。ただし、引数と結果は変更されません。
df.sort_values(['a', 'b'], ascending=[True, False])
非推奨のsortメソッドを使用した同等の方法は次のとおりです。
df.sort(['a', 'b'], ascending=[True, False])
たとえば、列にランダムな整数値を持つデータフレーム df1 を考えてみましょう。 'a' と 'b':
import pandas as pd import numpy as np df1 = pd.DataFrame(np.random.randint(1, 5, (10, 2)), columns=['a', 'b'])
このデータフレームを 'a' で並べ替えています昇順で、降順で 'b' を指定すると、次のようになります。
df1.sort(['a', 'b'], ascending=[True, False])
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
デフォルトでは、並べ替えメソッドが導入されていないことに注意してください。ソートされた値で df1 を更新するには、sort メソッドの結果を df1 に割り当てるか、メソッド呼び出しで inplace=True を使用します:
df1 = df1.sort(['a', 'b'], ascending=[True, False])
または
df1.sort(['a', 'b'], ascending=[True, False], inplace=True)
以上がPandas DataFrame を複数の列で昇順と降順に並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。