パンダ: value_counts() の結果を並べ替える方法


pandas でvalue_counts()関数を使用すると、DataFrame の特定の列内の値の出現をカウントできます。

次のいずれかの方法を使用して、 value_counts()関数の結果を並べ替えることができます。

方法 1: アカウントを降順で並べ替える (デフォルト)

 df. my_column . value_counts ()

方法 2: アカウントを昇順で並べ替える

 df. my_column . value_counts (). sort_values ()

方法 3: DataFrame に表示される順序でカウントを並べ替える

 df. my_column . value_counts ()[df. my_column . single ()]

次の例は、次の pandas DataFrame で各メソッドを実際に使用する方法を示しています。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'B', 'B', 'C'],
                   ' points ': [15, 12, 18, 20, 22, 28, 35, 40]})

#view DataFrame
print (df)

  team points
0 to 15
1 to 12
2 B 18
3 B 20
4 B 22
5 B 28
6 B 35
7 C 40

例 1: アカウントを降順に並べ替える

次のコードは、チーム列内の各一意の値の出現をカウントし、数値を降順に並べ替える方法を示しています。

 #count occurrences of each value in team column and sort in descending order
df. team . value_counts ()

B5
At 2
C 1
Name: team, dtype: int64

デフォルトでは、カウントは降順でソートされることに注意してください。

例 2: アカウントを昇順で並べ替える

次のコードは、チーム列内の各一意の値の出現をカウントし、数値を昇順に並べ替える方法を示しています。

 #count occurrences of each value in team column and sort in ascending order
df. team . value_counts (). sort_values ()

C 1
At 2
B5
Name: team, dtype: int64

アカウントは昇順、つまり最小値から最大値の順にソートされることに注意してください。

例 3: DataFrame に表示される順序でアカウントを並べ替える

次のコードは、チーム列内の各一意の値の出現をカウントし、一意の値が DataFrame に表示される順序で数値を並べ替える方法を示しています。

 #count occurrences of each value in team column and sort in order they appear
df. team . value_counts ()[df. team . single ()]

At 2
B5
C 1
Name: team, dtype: int64

カウントは、DataFrame に表示される一意の値の順序に基づいて並べ替えられるようになったことに注意してください。

たとえば、値「A」がチーム列に最初に表示され、次に「B」が表示され、次に「C」が表示されます。

したがって、これはカウントが出力に表示される順序です。

追加リソース

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

パンダ: 値勘定科目をプロットする方法
パンダ: GroupBy と値のカウントの使用方法
パンダ: value_counts をパーセンテージとして表す方法

コメントを追加する

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