パンダ: 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 をパーセンテージとして表す方法