複数の列による 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])
非推奨の並べ替えを使用した同等の方法メソッドは:
df.sort(['a', 'b'], ascending=[True, False])
たとえば、列 'a' と 'b' にランダムな整数値を持つデータフレーム df1 を考えます:
import pandas as pd import numpy as np df1 = pd.DataFrame(np.random.randint(1, 5, (10, 2)), columns=['a', 'b'])
このデータフレームを 'a' で昇順に並べ替えますorder と '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])
or
df1.sort(['a', 'b'], ascending=[True, False], inplace=True)
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3