Python轻松多条件计数与求和 |
您所在的位置:网站首页 › 分类求和函数countif › Python轻松多条件计数与求和 |
来源:大话数据分析 在日常做数据日报时,日报的数据指标需要根据特定的条件进行计数和求和,需要使用大量的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," |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |