我正在做一个关于Pandas的udemy课程,其中一个练习要求您选择2013年 Dataframe 中提到过一次的作业数量( Dataframe 包含employeename
、year
、salaries
、job title
等)。
sal[sal["Year"]==2013]["JobTitle"].nunique(dropna="True")
输出为1051
,溶液使用value_counts()==1
sum(sal[sal['Year']==2013]['JobTitle'].value_counts() == 1)
输出是202
如果我得到了基本的权利,我认为sum value_counts()==1
是相同的unique
,但我得到了不同的输出任何帮助,请和谢谢!
sal[sal["Year"]==2013]["JobTitle"].nunique(dropna="True")
1条答案
按热度按时间waxmsbnn1#
nunique()和value_counts()是两个不同的函数,它们提供有关JobTitle列中数据的不同信息。
nunique()返回Year等于2013的行的JobTitle列中唯一值的数量。换句话说,它返回2013年数据中出现的不同职称的数量。
另一方面,value_counts()返回Year等于2013的行的JobTitle列中每个唯一值的计数。换句话说,它返回每个职称在2013年的数据中出现的次数。
要获得在2013年数据中只出现一次的职位数,可以使用sum()函数、value_counts()和== 1条件,这将返回计数为1的职位数,它对应于在数据中只出现一次的职位数。
另一方面,nunique()返回的是唯一职位的总数,不管它们在数据中出现了多少次,所以nunique()的输出将大于sum()在value_counts()和== 1条件下的输出。