pandas中value_counts()函数的详细用法与参数解析

季宁
季宁
发布时间:2026-10-13| 6人浏览过
原创

本文详解pandas库中value_counts()函数的使用方法。涵盖Series单个列的频次统计、默认降序与升序排列、normalize参数计算占比,以及DataFrame多列批量统计。重点解析ascending和normalize参数的具体应用及空值处理机制,帮助开发者高效进行数据分布分析。

pandas value_counts() 函数概述

在pandas数据处理中,经常需要确认数据出现的频率,此时常用value_counts()函数来实现这一需求。

Series 数据类型的计数与排序

1. Series 情况下的应用:

pandas 提供的 value_counts() 函数能够对 Series 对象中的每个唯一值进行计数,并自动按计数结果进行排序。


import pandas as pd
df = pd.DataFrame({'区域' : ['西安', '太原', '西安', '太原', '郑州', '太原'], 
         '10月份销售' : ['0.477468', '0.195046', '0.015964', '0.259654', '0.856412', '0.259644'],
         '9月份销售' : ['0.347705', '0.151220', '0.895599', '0236547', '0.569841', '0.254784']})
print(df)

例如,统计数据集中每个区域出现的次数:


print(df['区域'].value_counts())

执行后,每个区域都会被单独计数,且默认情况下结果按计数值从高到低进行排序。

若希望结果按升序排列,可以设置参数 ascending = True:


print(df['区域'].value_counts(ascending=True))

如果需要计算每个值出现的计数占比,可以添加参数 normalize=True:


print(df['区域'].value_counts(normalize=True))

注意:默认情况下,空值(NaN)会被剔除不计入结果。value_counts() 返回的结果是一个 Series 对象,可以直接与其他数组或 Series 进行数学计算。

DataFrame 数据类型的批量统计

2. DataFrame 情况下的应用:


import pandas as pd
df = pd.DataFrame({'区域1' : ['西安', '太原', '西安', '太原', '郑州', '太原'],
          '区域2' : ['太原', '太原', '西安', '西安', '西安', '太原']})
print(df.apply(pd.value_counts))

在区域2列中,由于没有郑州这一数据,因此对应位置显示为 NaN。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。