Python轻松多条件计数与求和

您所在的位置:网站首页 分类求和函数countif Python轻松多条件计数与求和

Python轻松多条件计数与求和

2024-07-09 23:07| 来源: 网络整理| 查看: 265

来源:大话数据分析

在日常做数据日报时,日报的数据指标需要根据特定的条件进行计数和求和,需要使用大量的Excel函数,比如普通计数COUNT,普通求和SUM,条件计数COUNTIF,条件求和SUMIF等。

本文借助Python对比Excel中多条件计数和求和的用法,轻松实现实现Python中的多条件计数和求和,相较而言,Python的语法更加清晰,多条件计数和求和的用法更加鲜明,下面一起来学习。

示例工具:anconda3.7、office2016

本文讲解内容:多条件计数、求和

适用范围:用Python多条件计数、求和

数据获取

本案例数据如下,其中包含用户ID、日期、城市等6个字段,需要对这些数据字段根据特有的条件进行计数和求和。

dd553a365d8922650483fee384587d8f.png

『普通计数/Excel』

计算用户数,使用COUNT函数,得出用户数是10个。

=COUNT(A2:A11)

计算城市列非空单元格个数,使用COUNTA函数,将非空的数值剔除,得出非空的城市为6个。

=COUNTA(C2:C11)

计算城市列空单元格个数,使用COUNTBLANK函数,只计入单元格为空的数,得出空单元格数是4个。

=COUNTBLANK(C2:C11)

『普通计数/Python』

导入第一个sheet表的数据。

import pandas as pd df1=pd.read_excel(r'D:\系统桌面(勿删)\Desktop\多条件计数与求和.xlsx',sheet_name='COUNT&COUNTA&COUNTBLANK',usecols='A:F') df1

88e48ff2f82a87d863ba5306e1fa9848.png

计算用户数可以在用户ID这一列进行计数,得出用户数为10。

#计算用户数 df1['用户ID'].count()

Python中的count函数默认是计入非空值,所以要求非空单元格数直接使用count函数即可,得出非空的城市为6个。

#计算城市列非空单元格个数 df1['城市'].count()

要计算空的单元格数,首先用isnull函数返回布尔值,然后用sum函数求和即可,得出城市列空单元格数是4个。

#计算城市列空单元格个数 df1['城市'].isnull().sum()

『条件计数/Excel』

计算不同性别的客户数,使用COUNTIF函数,添加计入的条件进行运算,得出女性客户数是5,男性客户数是5。

=COUNTIF($E$2:$E$11,"F") =COUNTIF($E$2:$E$11,"M")

计算北京女性的客户数,需要满足两个条件,一个是城市列属于北京,另一个是性别是"F",两个条件同时满足,得出北京女性的客户数为3。

=COUNTIFS(C2:C11,"北京",E2:E11,"F")

『条件计数/Python』

导入第二个sheet表的数据。

df2=pd.read_excel(r'D:\系统桌面(勿删)\Desktop\多条件计数与求和.xlsx',sheet_name='COUNTIF&COUNTIFS',usecols='A:F') df2

7b325dd99798a02036dc2d76d0dbfc3a.png

要计算不同性别的客户数使用value_counts函数,既可以分组,也可以计算,得出女性客户数是5,男性客户数是5。

#计算不同性别的客户数 df2['性别'].value_counts()

要计算北京女性的客户数需要筛选出城市是"北京"且性别是"F"的用户ID,进行计数即可,得出北京女性的客户数为3。

#计算北京女性的客户数 df2[(df2['城市']=='北京')&(df2['性别']=='F')]['用户ID'].count()

『条件求和/Excel』

销售额求和,使用sum函数,得出销售额为37810。

=SUM(F2:F11)

北京的销售额求和,求和城市里满足是北京市的销售额,得出销售额为10828。

=SUMIF(C2:C11,"北京",F2:F11)

北京的销售额求和且满足年龄小于30岁,添加两个条件,一个是城市里是北京市,另一个是年龄小于30岁,得出销售额为3200。

=SUMIFS(F2:F11,C2:C11,"北京",D2:D11,"


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3