【小白从小学Python、C、Java】

【Python全国计算机等级考试】

【Python数据分析考试必会题】

● 标题与摘要

Python计算pandas中不同值的个数

Series.value_counts()

● 选择题

以下关于Series.value_counts()说法正确的是:

A.当ascending=True时,为升序排序。

B.当dropna=True时,可以对无效值进行计数。

C.该方法参数不是默认的,需要自行设定。

D.normalize为False,以百分比的形式显示。

欢迎大家转发,一起传播知识和正能量,帮助到更多人。期待大家提出宝贵改进建议,互相交流,收获更大。辛苦大家转发时注明出处(也是咱们公益编程交流群的入口网址),刘经纬老师共享知识相关文件下载地址为:http://liujingwei.cn

● 问题解析

1.Series.value_counts(normalize=False,ascending=False,bins=None, dropna=True),该函数用于统计dataframe或series中不同数或字符串出现的次数。

2.常用参数解析:

2.1.normalize :默认false,如为true,则以百分比的形式显示。

2.2.ascending :默认降序排序,当ascending=True时,为升序排序。

2.3.bins :将连续数据分入离散区间。把它们分成半开放的数据集合,bins的值就是整个结果分为几部分。

2.4.dropna :默认删除na值。当dropna=False时,可以对无效值进行计数。

3.value_counts()是Series拥有的方法,一般在DataFrame中使用时,需要借助apply应用。

4.value_counts()并不是未带任何参数,而是所有参数都是默认的。也就是说会默认显示数字形式,默认排序,默认降序,默认删除na。

5.注意:使用此方法需要基于DataFrame或者Series进行操作。

● 附图 

图1 创建DataFrame

图2 修改部分参数的结果

图3 在DataFrame的使用

● 附图代码

#创建DataFrame

import pandas as pd

data=pd.DataFrame(columns=['字段1','字段2'],

data=[['a',3],['b',2],['a',],['c',2]])

print(data)

#Series情况下:

#既可以对分类变量统计,也可以对连续数值变量统计

print(data['字段1'].value_counts())

print(data['字段2'].value_counts())

#对结果升序排列,可以添加ascending=True来改变

data['字段2'].value_counts(ascending=True)

#对无效值进行计数dropna=False

data['字段2'].value_counts(dropna=False)

#设置normalize=True,可以查看百分占比

data['字段2'].value_counts(normalize=True)

#bins的值就是整个结果分为几部分

data['字段2'].value_counts(bins=2)

#dataframe要借助apply来应用value_counts()

data.apply(pd.value_counts)

● 正确答案

A

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐