value_counts() 统计某列值出现的次数
DataFrame.value_counts(subset=None,
normalize=False,
sort=True,
ascending=False,
dropna=True)
参数为:
subset: 表示根据某字段或者某列来进行统计分析
normalize: 返回的是比例而不是频次
ascending: 降序还是升序来排 False是降序,True是升序
sort: 排序 False是升序,True是降序
(1)#统计age列各个年龄的数量
data.value_counts(subset=['age'])
data['age'].value_counts()
(2)#以百分比计数显示结果,normalize 为False是频次,True是比例
data.value_counts(subset=['age'],normalize=True)
(3)#ascending 为False是降序,True是升序
data.value_counts(subset=['loanterm'],normalize=False,ascending=True)
(4)#sort: False是升序,True是降序
data.value_counts(subset=['loanterm'],normalize=False,sort=True)
(5)#分组(分箱)统计,类似cut()方法,
data['age'].value_counts(bins=10) #bins 分成10组统计
(6)#自定义分组的上限与下限
data['age'].value_counts(bins=[10,20,30,40,50,60]) #bins 分成10组统计
(7)#默认情况下,结果中会忽略包含任何 NA 值的行。有一个参数 dropna 来配置它。我们可以将该值设置为 False 以包含 NA 的行数
df['age'].value_counts(dropna=False)
(8)#统计后根据列排序,可以通过在 value_counts() 之后调用 sort_index(ascending=True) 来完成,
df['age'].value_counts(dropna=False).sort_index(ascending=True)#根据age大小排序