python怎么实现excel countif函数?

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

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

示例工具:anconda3.7、office2016
本文讲解内容:多条件计数、求和
适用范围:用Python多条件计数、求和

打开案例数据,其中包含用户ID、日期、城市等6个字段,需要对这些数据字段根据特有的条件进行计数和求和。
在这里插入图片描述

『普通计数/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

在这里插入图片描述

计算用户数可以在用户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

在这里插入图片描述

要计算不同性别的客户数使用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,"<30")

『条件求和/Python』

导入第三个sheet表的数据。

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

在这里插入图片描述

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

#销售额求和 
df3['销售额'].sum()

筛选城市这一列满足北京市的列对销售额求和,得出销售额为10828。

#北京的销售额求和 
df3[df3['城市']=='北京']['销售额'].sum()

筛选特定的数据,需要满足两个条件,城市列属于"北京"且年龄小于30,对销售额这一列进行求和,得出销售额为3200。

#北京的销售额求和,且满足年龄小于30岁 
df3[(df3['城市']=='北京')&(df3['年龄']<30)]['销售额'].sum()

以上为多条件计数和求和在Python中的用法,熟练掌握Python的用法,可以解放双手,使用代码完成Excel复杂的多条件计数、多条件求和,提高运算效率和工作效率。

关于Python的技术储备

在这里给大家分享一些免费的课程供大家学习,下面是课程里面的截图,扫描最下方的二维码就能全部领取。

1.Python所有方向的学习路线

在这里插入图片描述

2.学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
在这里插入图片描述

3.学习资料

在这里插入图片描述

4.实战资料

实践是检验真理的唯一标准。这里的压缩包可以让你再闲暇之余帮你提升你的个人能力。
在这里插入图片描述

5.视频课程

在这里插入图片描述

好啦今天的分享就到这里结束了,快乐的时光总是短暂呢,想学习更多课程的小伙伴不要着急,有更多惊喜哦~在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Everly_/article/details/133377295