今天我们来看看在 pandas 中如何做到条件统计。...这需要我们在 Excel 中有很多方式完成,比如透视表或函数公式,下面简单列出函数公式的做法: - 简单使用 countifs 即可 > 这里不再单独使用 countif 了,管他是否只有一个条件,统一用...fare.mean() 恰好反映"票价的平均" 同样,简单分组即可一次获得所有分组的统计信息: - 按 sex 分组,求 票价 的 平均 需求3:非常规匹配 上面的条件都是完全符合,有时候我们需要统计有包含关系的条件..."住址是New York 的人数" Excel 的 xxifs 类函数公式都能支持通配符: - 前后用 * 包围内容,表示包含此内容即符合条件 在 pandas 中,由于筛选与统计是独立分开的,因此只需要知道怎么筛选...更多高级应用方法,请关注 pandas 专栏 [带你玩转Python数据处理—pandas]
今天我们来看看在 pandas 中如何做到条件统计。...这需要我们在 Excel 中有很多方式完成,比如透视表或函数公式,下面简单列出函数公式的做法: - 简单使用 countifs 即可 > 这里不再单独使用 countif 了,管他是否只有一个条件,统一用...以下是 Excel 的公式做法: 那么 pandas 的做法呢? 想必聪明的你一定大概知道怎么做,pandas 中求平均的是方法 mean: - 行3:同样语义非常清晰。....fare.mean() 恰好反映"票价的平均" 同样,简单分组即可一次获得所有分组的统计信息: - 按 sex 分组,求 票价 的 平均 需求3:非常规匹配 上面的条件都是完全符合,有时候我们需要统计有包含关系的条件..."住址是New York 的人数" Excel 的 xxifs 类函数公式都能支持通配符: - 前后用 * 包围内容,表示包含此内容即符合条件 在 pandas 中,由于筛选与统计是独立分开的,因此只需要知道怎么筛选
1.1 统计班级人数 在我们的例子里,每一行表示一个学生,所以统计人数,只需要计算行数即可: len函数可以直接返回行数,而常用的应该是使用shape这个属性,返回的是数据的shape,如上的(50...1.2 统计各科平均分 在pandas中,计算均值的方法是mean: mean可以直接用在整个数据集(表格)上,这样会直接计算所有数值型字段的均值;也可以单独用着某个字段(列)上,在pandas中访问某个列...3.1 统计班级男生女生的人数 在pandas中,groupby可以用来做分组,它返回的是一个可循环的对象,这个对象有一个size方法,就能计算出男生和女生的人数。...有了及格和不及格字段,类似Excel表格中的透视表功能,pandas也有透视表函数: 所谓透视表,涉及到的重要参数有:列字段(columns),行字段(index),值字段(values),还有就是值字段的计算函数...xlsx') 6.2 Pandas介绍 Pandas 是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。
因此,pandas 为数据表做了一个方法,快速列出每一列的常用统计信息: DataFrame.describe 列出数值类的字段的统计信息,参数 include='all' ,让统计所有的列 我们特别要关注上图红框的列...这里不再展开 ---- 再看看订单金额为0的情况: 共80笔消费金额为0的记录 ---- 啰嗦的汇总代码 数据分析中的数据处理操作,大部分集中在分组统计中,因为需要变换数据颗粒做统计运算。..."每月的销售额": "每月消费人数": "每月客单价": 行3:多个度量,只需要分别传入即可 "每月平均订单单价": 本次涉及的并非一些 pandas 的方法,而是使用 pandas 的一种模式...本文讲解的度量值定义看似只能在单个项目中使用,实际只需要稍微思考一下,就能定义出跨项目通用的度量值统计方式。 这才是 pandas 的价值所在,否则我们直接使用其他的 BI 软件就可以了。...更多更详细的 pandas 高级应用,请关注我的 pandas 专栏,里面会有这些技巧的所有详细讲解和案例 ---- 最后 你会发现我源码中定义了其他的度量值,这会在后续更复杂的分析时用到,下次就会讲到
例如,想统计前面数据表中开课的个数,则可用如下语句: ? 02 unique nunique用于统计唯一值个数,而unique则用于统计唯一值结果序列。...例如,在上述例子中,不仅想知道开课的课程名,还需了解各门课的选课人数,可用语句为: ?...04 groupby groupby,顾名思义,是用于实现分组聚合统计的函数,与SQL中的group by逻辑类似。例如想统计前面成绩表中各门课的平均分,语句如下: ?...例如想同时统计各班每门课程的选修人数和平均分,语句如下: ?...既然二者如此相似,那么是否可以实现相互转换呢?答案是肯定的! 06 stack 和 unstack stack和unstack可以实现在如上两种数据结果中相互变换。
最近有不少粉丝问我关于Python批量操作Excel的问题。 大家的关注点主要是如何循环遍历表格、如何用Pandas批量处理,当然,还有在996的压迫下如何提效(来挤出更多摸鱼时间)。 ?...注:点击人数和支付人数,都是在搜索人数基础上统计的 每张表都有50个品牌,包括了品牌名、品牌搜索人数、点击人数和对应的支付人数这几个关键字段。...正当我们准备批量执行操作,首席吹牛官发来了消息: “需求一略有调整,投资人最关注的是凌云这个品牌,要求在汇总表中,每个月凌云品牌的相关指标排在最前面,后面跟着搜索排名TOP5的品牌”。...单表操作完成,批量操作,只需要建立好循环+合并关系,并引入日期列,在合并结果中对不同的表数据做好区分: result = pd.DataFrame() for name in os.listdir()...没想到首席吹牛官发来了这样的消息: “第二个需求我可能没说清楚,这次不仅是表彰,也是给融资机构秀肌肉的一部分,我们关注的只是品牌声量,对应的就是品牌搜索人数这个指标,你汇总好排个序就好”
,在 pandas 中,不管是数值或是文本的条件统计,本质都是构造条件 bool 列,之后的处理是一样的。...案例1:简单需求 "30岁以上的人数" 先看看 Excel 函数公式的做法: - 简单使用 countifs 即可 - 注意,第二个参数使用文本(双引号包围),主要是因为需要使用 大于号。...这使得函数公式的语义更好 pandas 中数值条件也很非常容易表达: - 行1:df.age >30 构造出"年龄大于30"的 bool 列 与 Excel之间的关系 你会发现,其实 pandas..."30岁以上 男女的人数": 一个个写,太麻烦了,直接条件筛选,分组统计: "男女高于各自性别的平均年龄的人数" - 有没有发现男性的人数与之前需求的人数很接近?...,可以查看 公众号中:数据大宇宙 > 数据分析 > 探索分析 系列文章 关于透视表和数据分段,请查看 pandas 专栏 [带你玩转Python数据处理—pandas] 相关文章 总结 本文重点:
,在 pandas 中,不管是数值或是文本的条件统计,本质都是构造条件 bool 列,之后的处理是一样的。...案例1:简单需求 "30岁以上的人数" 先看看 Excel 函数公式的做法: - 简单使用 countifs 即可 - 注意,第二个参数使用文本(双引号包围),主要是因为需要使用 大于号。...这使得函数公式的语义更好 pandas 中数值条件也很非常容易表达: - 行1:df.age >30 构造出"年龄大于30"的 bool 列 与 Excel之间的关系 你会发现,其实 pandas..."30岁以上 男女的人数": 一个个写,太麻烦了,直接条件筛选,分组统计: "男女高于各自性别的平均年龄的人数" - 有没有发现男性的人数与之前需求的人数很接近?...,可以查看 公众号中:数据大宇宙 > 数据分析 > 探索分析 系列文章 关于透视表和数据分段,请查看 pandas 专栏 [带你玩转Python数据处理—pandas] 相关文章 总结
yhd-pandas分类统计个数与和 ◆【解决问题】 在一次工作中遇到这样一个问题: 1.按条件“全年”统计人数与求和, 2.按“非全年”统计人数与求和 3.最后再统计合计人数与合计总和 如下明细表...要统计如下 四个方框表示四个要统计的问题 ◆【Excel函数解决问题】 这里只列出所用到的关键函数 C3=SUMPRODUCT((明细表!...$B$2:$B$31=统计!B3)*(明细表!$E$2:$E$31=12)*1) D3=SUMPRODUCT((明细表!$B$2:$B$31=统计!B3)*(明细表!...pd file="D://yhd_python_home/yhd-pandas分类统计个数与和/pandas分类统计个数与和2.xlsx" df= pd.read_excel(file) df12=df...(lambda x: x.sum(),axis=0) file_out="D://yhd_python_home/yhd-pandas分类统计个数与和/pandas分类统计个数与和2_out.xlsx"
Excel数据透视表虽好,但在pandas面前它也有其不香的一面! ? 01 何为透视表 数据透视表,顾名思义,就是通过对数据执行一定的"透视",完成对复杂数据的分析统计功能,常常伴随降维的效果。...)下生存人数(Survived),那么仅需如下3步操作即可: 选择Excel菜单栏中插入数据透视表选项卡 ?...至此,我们可以发现数据透视表中实际存在4个重要的设置项: 行字段 列字段 统计字段 统计方式(聚合函数) 值得指出的是,以上4个要素每一个都可以不唯一,例如可以拖动多个字段到行/列字段中形成二级索引,...: 汇总列的列名,与上一个参数配套使用,默认为'All',当margins为False时,该参数无作用 dropna : 是否丢弃汇总结果中全为NaN的行或列,默认为True。...如果既需要统计不同性别各舱位下的生存人数(对应Survived=1),又想统计生存率(生存人数与该分组下总人数的比例),那么仅需在传入aggfunc参数时增加一个mean聚合函数即可: ?
pandas统计:最低分,最高分,总人数,分数段人数与百分率 成绩表如下: 代码如下: ''' 本程序用于统计:最低分,最高分,总人数,分数段人数与百分率 ''' import pandas as...pd #统计60-79人数 def d60to79(arr): return sum((arr >= 60) & (arr<80)) #统计60-79人数百分率 def d60to79f(arr...): return sum((arr >= 60) & (arr<80))/len(arr) #统计80-100人数 def d80to100(arr): return sum( (arr.../stu_count.xlsx" #读取一个excel文件中的两个表提数据,以序号为index,身份证定为str类型 df=pd.read_excel(path) dfg=df.groupby('单位'...count','max','min'}).round(2) print(y2) y2.to_excel(path_out) 说明 程序先读取excel文件数据, 再用groupby进行分组 再用自定义的函数进行统计
后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器—— pandas 前言 这次是一位小伙伴提出的实际问题,刚好使用 pandas 的解决思路上与 Excel 一致,因此写到这个系列中...0-9(先输入0、1,再下拉即可),然后把这0-9的列复制粘贴到C列中即可 - 后面的分组,统计得到结果,就不要麻烦 Excel 了,你也会烦死 pandas 中的对应实现 怎么样生成需求中的循环数列呢...,进行分组统计,得到结果: - 行1:加载数据 - 行2:调用之前定义的函数,获取分组依据 - 行4-10:按分数排序 + 分组统计结果 - 行8:对每个组中的人名(name) 串在一起(','.join...) ,同时求个数(count) - 行12:修改表头 - 行15:把分组结果输出到工作表"分组信息" - 行16:对分组结果输出一个统计信息到工作表"组差异" 排序、分组、汇总、统计到输出,就是这么简单直观...pandas 在数据处理中的快速、便捷,体现得一览无遗! 更多 pandas 高级技巧,关注我的 pandas 专栏!
在第一篇案例中我们基于网易实时疫情播报平台,使用Python对疫情数据进行了爬取。 1. 数据及Pandas工具介绍 在第一篇案例中我们基于网易实时疫情播报平台,使用Python对疫情数据进行了爬取。...Pandas是基于NumPy数组构建的,能够灵活处理关系型数据,可便捷的完成索引、切片、组合以及选取数据子集等操作。接下来就让我们一起使用Pandas对疫情数据进行探索性分析。 2....排名第一的国家苏丹病死率高达0.29,但从表中可知,该国累计确诊人数只有7例。可见,病死率应结合累计确诊人数一起查看。...使用describe()查看数据的统计信息: # 查看数值型特征的统计量 today_province.describe() ?...数据表中总共有哪些国家呢?我们可以使用unique()查看数据中的唯一值: # 查看唯一值,可使用len()查看个数 alltime_world['名称'].unique() ?
所以,今天本文就围绕数据透视表,介绍一下其在SQL、Pandas和Spark中的基本操作与使用,这也是沿承这一系列的文章之一。 ?...当然,如果说只实现这两个需求还不能完全表达出数据透视表与常规的groupby有何区别,所以不妨首先看个例子: 给定经典的titanic数据集,我们需要统计不同性别下的生还人数,则可以进行如下设置: ?...值得补充的是:实际上为了完成不同性别下的生还人数,我们完全可以使用groupby(sex, survived)这两个字段+count实现这一需求,而数据透视表则仅仅是在此基础上进一步完成行转列的pivot...首先,给出一个自定义的dataframe如下,仅构造name,sex,survived三个字段,示例数据如下: ? 基于上述数据集实现不同性别下的生还人数统计,运用pandas十分容易。...当然,二者的结果是一样的。 以上就是数据透视表在SQL、Pandas和Spark中的基本操作,应该讲都还是比较方便的,仅仅是在SQL中需要稍加使用个小技巧。
前言 在使用 Pandas 进行数据分析时,我们需要经常进行查询和统计分析。...df[df['age'] >= 20] # 选取性别为女的记录 df[df['gender'] == 'F'] 数据统计分析 Pandas 提供丰富的统计函数,可以方便地进行数据分析。...统计人数 df.groupby(['gender', 'age'])['name'].count() 交叉表分析: # 构造一个交叉表,统计不同性别和年龄的人数 pd.crosstab(df['gender...: # 将缺失值使用 0 填充 df.fillna(0) 数据去重 对 DataFrame 去重: # 根据所有列值的重复性进行去重 df.drop_duplicates() # 根据指定列值的重复性进行去重...创建数据透视表: # 统计不同性别和年龄的人数,以 'gender' 为行、'age' 为列,'name' 计数 pd.pivot_table(df, values='name', index='gender
后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器—— pandas 前言 本系列上一节文章最后我随手使用了 pandas 中的透视表操作,之后有些小伙伴询问我相关的问题。...正好 pandas 的 pivot_table 也是与 Excel 透视表对应。本文简单教你入门使用 pandas 完成透视表功能。...行标签,survived 字段拖入 列标签 - 还需要统计人数,人名总是有的,因此把 name 字段拖入 数值区域 - 透视表立刻出结果,行标签 放入的字段的唯一值,被显示在透视表左侧。...:Excel 透视表中的 列标签 - 参数 values:Excel 透视表中的 数值区域 - 参数 aggfunc:Excel 透视表中的 数值区域 的字段的统计方式(Excel 默认是计数) "好像少了点东西...下面是代码: - 行3:这句就是把每个人标记为"是否套票"的实现,这个不多解析了,几乎与上面说的中文语义一致 - 行5-10:利用透视表,对字段 isgroup 统计一下生还人数比例 - 很明显,没有小伙伴的人里面
后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器—— pandas 前言 本系列上一节文章最后我随手使用了 pandas 中的透视表操作,之后有些小伙伴询问我相关的问题。...正好 pandas 的 pivot_table 也是与 Excel 透视表对应。本文简单教你入门使用 pandas 完成透视表功能。...行标签,survived 字段拖入 列标签 - 还需要统计人数,人名总是有的,因此把 name 字段拖入 数值区域 - 透视表立刻出结果,行标签 放入的字段的唯一值,被显示在透视表左侧。...: Excel 透视表中的 列标签 - 参数 values:Excel 透视表中的 数值区域 - 参数 aggfunc:Excel 透视表中的 数值区域 的字段的统计方式(Excel 默认是计数) "...下面是代码: - 行3:这句就是把每个人标记为"是否套票"的实现,这个不多解析了,几乎与上面说的中文语义一致 - 行5-10:利用透视表,对字段 isgroup 统计一下生还人数比例 - 很明显,没有小伙伴的人里面
Pandas简介 Pandas也是Python数据分析和实战的必备工具包之一,它提供了快速灵活的数据结构,简单的直观的处理关系型数据。可以方便的处理像Excel或者数据库中这样的结构化的数据。...假设一个数学老师需要统计班级上期末考试的分数情况,一般的都是会看下班上最高分,最低分,平均分,中位分数等等各种数据指标,那么Pandas就可以一步到位处理。...数据统计和整合 数据统计 在Series中有一个很常用的方法就是value_counts(),它的作用就是统计Series中每个元素出现的次数。...数据整合 前面说过可以把dateframe看出是SQL表数据,那么在SQL中常用的连接、聚合等操作在Pandas中也是可以实现的。...B表中同样字段名为a和b也有两行数据,接下来我们做一个连接操作,就是SQL语句中的join操作。
数据背景为了能尽量多地使用不同的Pandas函数,我设计了一个古古怪怪但是实际中又很真实的数据,说白了就是比较多不规范的地方,等着我们去清洗。数据源是改编自一家超市的订单,文末附文件路径。...分群画像完成模型分群后,就要对各族群分别统计人数及客单价分布。人数占比最简单的一个画像分析,则是用pd.Series.value_counts对各族群进行人数统计,分析相对占比大小。...而前面各族群人数统计中,需要一行一列来定位信息的就是二维表。结尾至此,我们已经通过Pandas建立了RFM模型及分组人群画像分析,完成了业务分析需求。...受限于篇幅,本文仅对数据分析过程中Pandas高频使用的函数方法进行了演示,同样重要的还有整个分析过程。如果其中对某些函数不熟悉,鼓励同学多利用知乎或搜索引擎补充学习。同时也欢迎加饼干哥哥微信讨论。...更多Pandas函数使用说明,可查询中文文档本文算是数据分析流程的基础篇,计划会再整理一份进阶篇,涉及机器学习流程、以及更多特征工程内容,同样会以业务落地实战的方式进行介绍。
领取专属 10元无门槛券
手把手带您无忧上云