パンダ: groupby とグループ内での並べ替えの使用方法


次の構文を使用して、pandas DataFrame 内の行をグループ化し、グループ内の値を並べ替えることができます。

 df. sort_values ([' var1 ',' var2 '],ascending= False ). groupby (' var1 '). head ()

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

例: GroupBy の使用とパンダのグループでの並べ替え

2 つの異なる店舗での売上を示す次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['B', 'B', 'A', 'A', 'B', 'B', 'A', 'A'],
                   ' sales ': [12, 25, 8, 14, 10, 20, 30, 30]})

#view DataFrame
print (df)

  blind sales
0 B 12
1 B 25
2 to 8
3 to 14
4 B 10
5 B 20
6 to 30
7 to 30

次の構文を使用して、店舗列ごとに行をグループ化し、売上列に基づいて降順で並べ替えることができます。

 #group by store and sort by sales values in descending order
df. sort_values ([' store ', ' sales '],ascending= False ). groupby (' store '). head ()

	blind sales
1 B 25
5 B 20
0 B 12
4 B 10
6 to 30
7 to 30
3 to 14
2 to 8

ascending=False引数を削除して、売上値を昇順に並べ替えることもできることに注意してください。

 #group by store and sort by sales values in ascending order
df. sort_values ([' store ',' sales ']). groupby (' store '). head ()

	blind sales
2 to 8
3 to 14
6 to 30
7 to 30
4 B 10
0 B 12
5 B 20
1 B 25

head()関数はグループごとに最初の 5 つの値のみを表示することに注意してください。

グループごとに上位 n 個の値を表示するには、代わりにhead(n)を使用します。

: pandas での GroupBy 操作の完全なドキュメントはここで見つけることができます。

追加リソース

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

Pandas: グループごとの累積合計を計算する方法
パンダ: グループごとに一意の値を数える方法
パンダ: グループごとの相関を計算する方法

コメントを追加する

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