「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Pandas DataFrame を複数の列で昇順と降順に並べ替える方法は?

Pandas DataFrame を複数の列で昇順と降順に並べ替える方法は?

2024 年 12 月 22 日に公開
ブラウズ:377

How to Sort a Pandas DataFrame by Multiple Columns in Ascending and Descending Order?

複数の列による 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