Pandas:如何对 value_counts() 的结果进行排序
您可以使用 pandas 中的value_counts()函数来计算 DataFrame 给定列中值的出现次数。
您可以使用以下方法之一对value_counts()函数的结果进行排序:
方法一:按降序对账户进行排序(默认)
df. my_column . value_counts ()
方法二:按升序排列账户
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 中出现的顺序对帐户进行排序
以下代码展示了如何计算 team 列中每个唯一值的出现次数,并按照唯一值在 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”。
这就是计数在输出中出现的顺序。
其他资源
以下教程解释了如何在 pandas 中执行其他常见任务:
Pandas:如何绘制价值账户
Pandas:如何使用 GroupBy 和值计数
Pandas:如何将 value_counts 表示为百分比