Pandas で複数の列で並べ替える方法 (例あり)


次の基本構文を使用して、pandas DataFrame を複数の列で並べ替えることができます。

 df = df. sort_values ([' column1 ', ' column2 '], ascending=( False , True ))

次の例は、この構文を実際に使用する方法を示しています。

例: Pandas の複数の列による並べ替え

次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' points ': [14, 20, 9, 20, 25, 29, 20, 25],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

        points assists rebounds
0 14 5 11
1 20 7 8
2 9 7 10
3 20 9 6
4 25 12 6
5 29 9 5
6 20 9 9
7 25 4 12

次の構文を使用して、ポイントを増やし、次にパスを減らすことによって DataFrame の行を並べ替えることができます。

 #sort by points ascending, then assists ascending
df = df. sort_values ([' points ', ' assists '])

#view updated DataFrame
df

	points assists rebounds
2 9 7 10
0 14 5 11
1 20 7 8
3 20 9 6
6 20 9 9
7 25 4 12
4 25 12 6
5 29 9 5

ラインは昇順のポイント(最小から最大) で並べ替えられ、次に昇順のパスで並べ替えられることに注意してください。

ascending引数を使用して、各列を昇順または降順のどちらでソートするかを指定することもできます。

 #sort by points descending, then assists ascending
df = df. sort_values ([' points ', ' assists '], ascending = ( False , True )))

#view updated DataFrame
df

        points assists rebounds
5 29 9 5
7 25 4 12
4 25 12 6
1 20 7 8
3 20 9 6
6 20 9 9
0 14 5 11
2 9 7 10

ラインは降順のポイント(最大から最小) で並べ替えられ、次に昇順のパスで並べ替えられることに注意してください。

これらの例では、DataFrame を 2 つの列で並べ替えましたが、この正確な構文を使用して、必要な数の列で並べ替えることもできます。

: pandas sort_values()関数の完全なドキュメントはここで見つけることができます。

追加リソース

次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。

パンダ: 日付順に並べ替える方法
パンダ: 列を名前で並べ替える方法
パンダ: インデックスと列の両方で並べ替える方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です