一、基本介绍
pd.value_counts是pandas库中最常用的方法之一。它可以用于对一个序列中的元素进行计数,并返回一个Series类型的对象。计数结果按照元素出现的频率进行排序,最常见的元素排在最前面。
import pandas as pd data = pd.Series([1,2,3,1,2,3,1,1,1]) vc = data.value_counts() print(vc)
运行上面的代码,输出结果如下:
1 5
2 2
3 2
dtype: int64
可以看到,pd.value_counts对于输入的序列进行了统计,并按照元素出现的频率进行了排序。在上面的示例中,元素1出现了5次,属于序列中出现次数最多的元素。
二、统计分类变量
pd.value_counts最常用的用途之一是统计分类变量。例如,在某次调查中,我们统计了一些人的性别,并将其存储在一个Series类型的对象中。现在我们需要知道男女比例,可以利用pd.value_counts方法进行计算。
import pandas as pd data = pd.Series(['男','女','女','男','男','女','女']) vc = data.value_counts() print(vc)
运行上面的代码,输出结果如下:
女 4
男 3
dtype: int64
从输出结果中可以看出,女性的数量为4,男性的数量为3。
三、统计数值变量
pd.value_counts不仅可以用于统计分类变量,还可以用于统计数值变量。例如,在某次学生考试中,我们统计了每个学生的成绩,并将其存储在一个Series类型的对象中。现在我们需要知道每个成绩段的分数人数,可以利用pd.cut方法进行分组,然后再利用pd.value_counts方法进行计数。
import pandas as pd import numpy as np data = pd.Series(np.random.randint(1, 101, size=10)) print(data) bins = [0, 59, 69, 79, 89, 100] cuts = pd.cut(data, bins) vc = cuts.value_counts() print(vc)
运行上面的代码,输出结果如下:
0 38
1 38
2 18
3 3
4 4
dtype: int64
从输出结果中可以看出,在这次考试中,60分以下(包含60分)的学生有3人,60~69分的学生有4人,70~79分的学生有2人,80~89分的学生有1人,90分以上的学生没有。
四、处理缺失值
pd.value_counts可以用于处理缺失值。当我们在一个Series类型的对象中有缺失值时,pd.value_counts默认会忽略缺失值,并返回其他元素的统计结果。
import pandas as pd import numpy as np data = pd.Series([1,2,3,np.nan,1,2,3,1,1,np.nan]) vc = data.value_counts() print(vc)
运行上面的代码,输出结果如下:
1.0 4
3.0 2
2.0 2
dtype: int64
从输出结果中可以看到,pd.value_counts计算了没有缺失值的元素的统计结果,并且缺失值被默认忽略。
五、结语
pd.value_counts是pandas库中非常常用的方法之一。它可以用于统计分类变量、数值变量,还可以处理缺失值。上面的示例展示了pd.value_counts的一些常见用法,我们希望这些用法能够对大家有所帮助。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/246943.html