Pandas | 5 种技巧高效利用value-counts

Pandas计数函数value_counts与count深度解析:从原理到高阶应用 在数据分析与处理中,数据统计与分布分析是核心基础操作。其原理在于对数据集中的元素进行归类、计数与聚合,以揭示数据的内在结构和质量。掌握高效的计数技术,能极大提升数据探索与清洗的效率,是数据科学工作流的关键环节。在Python的Pandas库中,value_counts()和count()是两个最常用的计数函数,它们分别服务于数据分布洞察与数据质量评估。value_counts()专注于统计唯一值的出现频率,是探索性数据分析的利器;而count()则用于计算非缺失值的数量,是数据完整性检查的基石。理解它们的本 阅读详情
作者 Parul Pandey
编译自 机器学习算法与Python学习,Datawhale

value_counts()

value_counts() 方法返回一个序列 Series,该序列包含每个值的数量。也就是说,对于数据框中的任何列,value-counts () 方法会返回该列每个项的计数。

语法

Series.value_counts()

参数

图源:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.value_counts.html

基本用法

作者通过以下数据集来观察 value-count () 函数的基本用法,其中 Demo 中使用了 Titanic 数据集。她还在 Kaggle 上发布了一个配套的 notebook。

代码链接:https://www.kaggle.com/parulpandey/five-ways-to-use values -counts

 

导入数据集

首先导入必要的库和数据集,这是每个数据分析流程的基本步骤。

# Importing necessary librariesimport pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline# Reading in the data
train = pd.read_csv( ../input/titanic/train.csv )

了解数据集的前几行内容

train.head()

统计无效值数量

train.isnull().sum()

由上图可见,Age、Cabin 和 Embarked 列都有无效值。通过这些分析,我们就对数据集有了初步的了解。现在就让我们来看一下 value_counts() 是如何对这个数据集进行进一步探索的,那 5 个高效方法又是什么呢?

默认参数值下的 value_counts()

首先在数据集的 Embarked 列上使用 value_counts (),这样会对该列中出现的每个值进行计数。

train[ Embarked ].value_counts()
-------------------------------------------------------------------
S 644
C 168
Q 77

这个函数会对给定列里面的每个值进行计数并进行降序排序,无效值也会被排除。我们很容易就能看出,Southampton 出发的人最多,其次是 Cherbourg 和 Queenstown。

如何用 value_counts() 求各个值的相对频率

有时候,百分比比单纯计数更能体现数量的相对关系。当 normalize = True 时,返回的对象将包含各个值的相对频率。默认情况下,normalize 参数被设为 False。

train[ Embarked ].value_counts(normalize=True)
-------------------------------------------------------------------
S 0.724409
C 0.188976
Q 0.086614

因此,知道有 72% 的人从 Southampton 出发比单纯知道 644 个人从 Southampton 出发要直观得多。

如何实现升序的 value_counts()

默认情况下,value_counts () 返回的序列是降序的。我们只需要把参数 ascending 设置为 True,就可以把顺序变成升序。

train[ Embarked ].value_counts(ascending=True)
-------------------------------------------------------------------
Q 77
C 168
S 644

如何用 value_counts() 展示 NaN 值的计数

默认情况下,无效值(NaN)是不会被包含在结果中的。但是跟之前一样的,只需要把 dropna 参数设置成 False,你也就可以对无效值进行计数。

train[ Embarked ].value_counts(dropna=False)
-------------------------------------------------------------------
S 644
C 168
Q 77
NaN 2

我们可以很直观地观察到该列内有两个无效值。

如何用 value_counts() 将连续数据放进离散区间

这是 value_counts() 所有功能中作者最喜欢的,也是利用最充分的。改变参数 bin 的值,value_counts 就可以将连续数据放进离散区间。这个选项只有当数据是数字型时才会有用。它跟 pd.cut 函数很像,让我们来看一下它是如何在 Fare 这一列大显身手的吧!

# applying value_counts on a numerical column without the bin parametertrain[ Fare ].value_counts()

这个结果并不能告诉我们什么信息,因为类别太多了。所以让我们把它集合到 7 个区间里。

train[ Fare ].value_counts(bins=7)

区间化(Binning)之后的结果更容易理解。我们可以很容易地看到,大多数人支付的票款低于 73.19。此外,我们还可以发现,有五个区间是我们需要的,并且没有乘客的最后两个区间是没用的。

因此,我们可以看到,value_counts() 函数是一个非常方便的工具,我们可以使用这一行代码进行一些有趣的分析。

原文链接:

https://towardsdatascience.com/getting-more-value-from-the-pandas-value-counts-aa17230907a6

推荐阅读

520 页机器学习笔记!图文并茂可能更适合你,文末附下载方法

李航老师《统计学习方法》(第2版)课件分享,文末附下载

Github | 吴恩达新书《Machine Learning Yearning》完整中文版开源

经典好书 | 141页的《Deep Learning with PyTorch》开源书籍

欢迎扫码添加小编微信(请备注方向),邀你入机器学习微信群,一起学习进步:

利用pandas的value_counts()实现统计列表中每个嵌套元组出现的次数 以下是利用 Python 中pandas库的。 阅读详情

相关推荐

Pandas | 频数统计使用value_counts的五个技巧

原文地址:https://mp.weixin.qq.com/s?__biz=MzAwNjA0MTE0NA==&mid=2247485696&idx=1&sn=2e87f97fc4c976f09de3db482391cb8e&chksm=9b123257ac65bb41c64a7e2320407315dd871255c558fcc97ce2bb90d3952259...

weixin_41931965的博客 1665

value_counts用于多列的方法

value_counts一般适用于单个series的频数统计,如果多个列具有相同的值的时候,比如调查问卷,需要根据答案的内容进行频数统计。这是如果每一列进行统计则效率较低,apply方法可以讲value_counts应用于dataframe的多个列,非常的方便。 df1.apply(pd.value_counts).T ...

camel52的博客 2975

Pandas | value_counts() 实战技巧:从基础统计到高级分组

本文深入探讨Pandas中value_counts()函数的实战技巧,从基础统计到高级分组应用。通过电商评分、市场占有率等真实案例,展示如何利用value_counts()进行数据透视、智能分箱和多维交叉统计,提升数据分析效率。特别介绍了参数调优、内存优化等避坑指南,是数据分析师必备的实用技能。

weixin_29057065的博客 190

value_counts()计数的用法

value_counts() 方法返回一个序列 Series,该序列包含每个值的数量。也就是说,对于数据框中的任何列,value-counts () 方法会返回该列每个项的计数。 value_counts()是Series拥有的方法,一般在DataFrame中使用时,需要指定对哪一列或行使用。 value_counts()在DataFrame的用法: import pandas as pd import numpy as np df1= DataFrame( {"ha

缘 源 园 1万+

告别groupby!用value_counts()实现高效数据统计的3种方法

本文介绍了Pandas中value_counts()函数的三种高效数据统计方法,帮助开发者告别传统的groupby操作。通过基础统计、高级应用和性能优化策略,详细解析了value_counts()在频次统计中的优势,包括单列频次分析、多列处理和大规模数据优化技巧,显著提升数据分析效率。

weixin_30642561的博客 245

何恺明团队MeanFlow论文解读:单步生成模型如何实现ImageNet 256×256的SOTA效果?

何恺明团队提出的MeanFlow框架在生成式AI领域实现重大突破,通过引入平均速度场概念,在ImageNet 256×256数据集上达到单步生成3.43 FID的SOTA效果。该技术解决了传统Flow Matching方法的积分误差累积问题,显著提升生成效率与质量,为AI图像生成应用开辟新方向。

weixin_30687051的博客 398

Pandas | value_counts() 的详细用法

用来统计数据表中,指定列里有多少个不同的数据值,并计算每个不同值有在该列中的个数,同时还能根据指定得参数返回排序后结果。,这个的过程是先按‘label’分组然后再统计每组的值,这样的效率较低,不建议使用。数据标准化以后,所有得项得和为1(可能因为计算机存储数据而有误差)常用来计算各数据占的比例。默认统计个数并降序返回。同样的统计还可以使用。

小鱼干儿的博客 2万+

超频玩家必看:TestMem5配置文件详解与内存稳定性测试实战(含黄金参数包)

本文详细解析了TestMem5(TM5)在内存超频稳定性测试中的核心价值与实战应用,特别针对DRAM颗粒特性提供黄金参数配置。通过anta777等专业配置的深度剖析,指导超频玩家精准定位内存故障,优化时序参数,实现性能与稳定性的完美平衡。涵盖从初级验证到极限压测的全流程方案,是硬件发烧友提升系统稳定性的必备指南。

weixin_29198045的博客 1827

python:pandas数值统计,.value_counts()的用法,全DataFrame数据计数

value_counts() 计数参数名作用sort=True是否要进行排序(默认:进行排序)(默认:降序排列)是否要对计算结果进行标准化,并且显示标准化后的结果(默认:False)bins=None可以自定义分组区间(默认:否)是否删除缺失值nan(默认:删除)

养乐多的博客 2万+

保姆级教程:用SNAP处理哨兵一号数据,5步搞定城区范围提取(附江西晋城案例)

本文提供了一份详细的保姆级教程,介绍如何使用SNAP软件处理哨兵一号数据,通过5个关键步骤快速提取城区范围。以江西晋城为例,教程涵盖数据准备、预处理、核心处理流程、自动化搭建及成果分析,帮助用户轻松掌握SNAP操作技巧,适用于城市规划、环境监测等领域。

weixin_32535389的博客 455

告别双系统!用Ventoy把Ubuntu 22.04装进U盘,打造你的随身开发环境(附保姆级避坑指南)

本文详细介绍了如何使用Ventoy将Ubuntu 22.04安装到U盘,打造便携式开发环境。通过即插即用的特性,开发者可以在任何x86电脑上快速启动完整的Ubuntu系统,无需配置双系统或虚拟机。文章提供了从硬件准备到系统优化的全流程指南,帮助用户高效创建随身开发环境。

weixin_31569671的博客 364

value_counts()

是Pandas中的一个函数,用于计算一个Series中每个唯一值的频数。它返回一个新的Series对象,其中索引是唯一值,而值是对应的频数。函数常用于对离散变量的统计分析,如计算每个类别的频数、查找最常出现的类别或进行数据的初步探索。中每个唯一值的频数,并返回一个新的Series对象。,则排除缺失值(NaN)并计算非缺失值的频数。参数,则将数值数据分箱,并计算每个箱子的频数。,则返回频数的相对频率,而不是绝对频数。,则包括缺失值并计算缺失值的频数。,则按频数进行排序。,则按频数升序排序。

BIT_mk的博客 2643

AI Agent开发实战:100个真实场景题库解析

AI Agent开发涉及复杂的需求理解、架构设计及安全防护等关键技术环节。在工程实践中,开发者常面临需求偏差、系统崩溃等挑战,特别是在金融、医疗等高要求场景下。通过真实案例题库,开发者能系统性地掌握需求分析、架构决策树建模(如向量数据库选型)、安全攻防策略(如提示词注入防御)等核心技能。这些实战经验不仅能提升Agent的可用性和安全性,还能优化其在电商客服、智能家居等场景中的表现。题库采用动态难度系统,覆盖从基础到高级的开发挑战,是AI工程化落地的重要参考。

weixin_29057695的博客 347

【第5章Pandas实战案例与解析 整理数据】5.384 深入Pandas:掌握value_counts()高效统计列成员数量的高级技巧

fill:#333;color:#333;color:#333;fill:none;5.384 深入Pandas:掌握value_counts()高效统计列成员数量的高级技巧引言为什么需要使用value_countsvalue_counts的基本原理实操代码示例参考文献。

1395

OCR模型轻量化新思路:用ONNX Runtime加速PP-OCRv4推理(附性能对比测试)

本文详细介绍了如何利用ONNX Runtime对PP-OCRv4模型进行轻量化部署与推理加速。通过模型导出优化、动态量化、线程绑定及内存复用等技巧,在树莓派、RK3588等边缘设备上实现了超过50%的性能提升,并显著降低了内存占用,为移动端OCR部署提供了完整的优化方案和实测数据对比。

weixin_29063979的博客 497

信号处理仿真:自适应信号处理_(8).自适应信道均衡

在无线通信系统中,信道的多径效应和时变特性会导致信号的失真,从而影响通信质量。自适应信道均衡技术通过实时调整均衡器的参数,以补偿信道失真,提高信号的质量和可靠性。本节将详细介绍自适应信道均衡的原理、算法和实现方法,并通过具体的仿真例子来说明其应用。

2401_87715305的博客 1041

Pandas数据分析核心:value_counts()与count()函数详解与应用

在数据分析与处理中,数据统计与分布探查是基础且关键的环节。其核心原理在于对数据集中的值进行有效计数与归类,以揭示数据的结构、质量和内在模式。掌握高效的计数技术,能极大提升数据清洗、探索性分析和质量评估的效率与准确性。在Python的Pandas库中,`value_counts()`和`count()`函数正是实现这一技术价值的利器。`value_counts()`专注于统计唯一值的出现频次,常用于分析类别分布、计算占比,其`normalize`、`bins`等参数能灵活应对各类分布分析场景。`count()

weixin_34072637的博客 397

RestFul API 详解

RESTful API 经常也被叫做 REST API,它是基于 REST 构建的 API。RESTful API 可以让你看到 URL+Http Method 就知道这个 URL 是干什么的,让你看到了 HTTP 状态码(status code)就知道请求结果如何。

wynn的博客 7585

Pandas | value_counts() 实战技巧与高级应用

本文深入探讨了Pandas中value_counts()函数的高级应用与实战技巧。除了基础的频数统计,文章详细讲解了如何使用normalize参数计算比例、利用bins参数对数值数据进行分组统计,并结合groupby进行复杂聚合分析。这些技巧能有效助力数据清洗、探索性分析和特征工程,提升数据分析效率与深度。

berry的博客 390

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

python3 value counts函数_一键提升数据挖掘姿势水平,5种高效利用value-counts函数的方法...

数据挖掘是机器学习领域的一个重要组成部分。在确定训练哪种模型以及训练多少模型之前,我们必须对数据包含的内容有所了解。Pandas 库为此提供了许多有用的函数,value_counts 就是其中之一。此函数返回 pandas 数据框中各个项的数量。但在使用 value-counts 函数的大多数时候用到的是默认参数。因此,在这篇短文中,介绍了如何通过自定义参数来实现更多的功能。value_count...

weixin_39778150的博客 839

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

pandas 统计数据频率函数value_counts及重复值和其他统计函数

当统计一个数据集里数据出现的频率,次数可以使用value_count value_counts默认参数如下: value_counts(values, sort=True, ascending=False, normalize=False, bins=None, dropna=True) 对于Series类型的数据 data.value_counts() 对于DataFrame类型的数据 dat...

weixin_43668299的博客 7612

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Pandas value_counts() 的5个隐藏用法,数据分析师必看

本文深入解析Pandas中value_counts()函数的5个隐藏用法,帮助数据分析师更高效地进行数据探索和预处理。从智能分箱、比例计算到处理缺失值和多维度统计,这些技巧能显著提升数据分析效率,特别适合处理分类变量和数值型数据。

weixin_30879169的博客 304

实战:使用pandas.cut与value_counts实现考试成绩智能分箱与可视化分析

本文详细介绍了如何使用pandas.cut与value_counts实现考试成绩的智能分箱与可视化分析。通过自动划分分数区间、快速统计各区间人数并生成直观图表,帮助教育工作者高效完成成绩分析,提升工作效率。文章包含完整代码示例和实战经验,特别适合需要进行分数段统计的教育数据分析场景。

qq_27496129的博客 893

input里value 颜色_5种高效利用value-counts函数的方法,一键提升数据挖掘姿势水平...

选自towardsdatascience作者:Parul Pandey机器之心编译参与:王子嘉数据挖掘是机器学习领域的一个重要组成部分。在确定训练哪种模型以及训练多少模型之前,我们必须对数据包含的内容有所了解。Pandas 库为此提供了许多有用的函数,value_counts 就是其中之一。此函数返回 pandas 数据框中各个项的数量。但在使用 value-counts 函数的大多数时候用到的是...

weixin_28745525的博客 177

Pandas | 频数统计很简单,但这5 种技巧你使用过吗?

选自towardsdatascience 作者:Parul Pandey机器之心编译 参与:王子嘉数据挖掘是机器学习领域的一个重要组成部分。在确定训练哪种模型以及训练多少模型之...

lsxxx2011的专栏 5816
上一篇: 四个小项目完全解读支持向量机 | 文末附代码下载方法
下一篇: 带学吴恩达《机器学习》课程和作业,带打Kaggle全球顶级大赛!
机器学习算法那些事
博客等级 码龄9年 1633粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值