添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

来源:大话数据分析

在日常做数据日报时,日报的数据指标需要根据特定的条件进行计数和求和,需要使用大量的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')
 

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

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

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

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

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

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

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

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

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

来源:大话数据分析在日常做数据日报时,日报的数据指标需要根据特定的条件进行计数和求和,需要使用大量的Excel函数,比如普通计数COUNT,普通求和SUM,条件计数COUNTIF,条件求和SUMIF等。本文借助Python对比Excel中多条件计数和求和的用法,轻松实现实现Python中的多条件计数和求和,相较而言,Python的语法更加清晰,多条件计数和求和的用法更加鲜...
本人是在一家零售行业工作,所出的教程,都是我日常工作遇到的 复杂而大量重复的工作 我用python代替去完成它,都是原创内容,非粘贴复制,如果我的文章能够帮助到大家,希望帮忙点个关注。当然,如果有很多错别字,也请见谅。 问题来了: 领导总是叫我每天导出来分析,但是我们公司分析数据总是要到 大区和小区,因为我们大区和小区都有负责人,KPI考核要对应负责人,通过数据去体现问题。这一次领导叫我...
在日常做数据日报时,日报的数据指标需要根据特定的条件进行计数求和,需要使用大量的Excel函数,比如普通计数COUNT,普通求和SUM,条件计数COUNTIF,条件求和SUMIF等。本文借助Python对比Excel条件计数求和的用法,轻松实现实现Python的多条件计数求和,相较而言,Python的语法更加清晰,多条件计数求和的用法更加鲜明,下面一起来学习。示例工具:anconda3.7、office2016本文讲解内容:多条件计数求和适用范围:用Python条件计数求和
python的垃圾回收采用的是引用计数机制为主和分代回收机制为辅的结合机制,当对象的引用计数变为0时,对象将被销毁,除了解释器默认创建的对象外。(默认对象的引用计数永远不会变成0) 所有的计数引用+1的情况: 一.对象被创建:1.a = 23  这里23这个对象并没有在内存新建,因为在Python启动解释器的时候会创建一个小整数池,-5~256之间的这些对象会被自动创建加载到内存等待调用;...
Python,可以使用and和or运算符来进行多条件的判断。当使用and运算符时,只有当所有条件都为True时,整个条件表达式才为True。例如,如果要判断txt不等于'标题'且不等于空字符串,则可以使用以下代码: if txt != '标题' and txt != '': print('总价', line\[4\]) unitPrice = 0 Price = 0 if line\[4\].find('万') > 0: Price = str2value(line\[4\]) print('是否包含万', str2value(line\[4\])) if line\[5\].find('元/平') > 0: unitPrice = int(str(line\[5\].replace('元/平', '').replace(',', ''))) print('是否包含元/平', int(str(line\[5\].replace('元/平', '').replace(',', '')))) print('单价', line\[5\]) print(line) 当使用or运算符时,只要有一个条件为True,整个条件表达式就为True。例如,如果要判断passwd等于'123456'或者等于'abcdef',则可以使用以下代码: if passwd == '123456' or passwd == 'abcdef': print('密码正确') 另外,还可以使用elif关键字来进行多条件的判断。elif用于在前面的条件不满足时,判断下一个条件。例如,如果要判断user等于'man',则输出'男孩',如果不等于'man'但等于'girle',则输出'女孩',可以使用以下代码: if user == 'man': print('男孩') elif user == 'girle': print('女孩') 这样,根据不同的条件,可以执行不同的代码块。 #### 引用[.reference_title] - *1* [Python条件判断](https://blog.csdn.net/zhouzhiwengang/article/details/120280341)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Python轻松条件计数求和](https://blog.csdn.net/weixin_38754337/article/details/124722368)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [python if 条件语句多条件判断怎么做?](https://blog.csdn.net/weixin_39598069/article/details/110040723)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]