Excel&Python菜品分类——数据分组/数据透视表08RowryCho

数据分组就是根据一个或多个键(可以是函数、数组或df列名)将数据分成若干组,然后对分组后的数据分别进行汇总计算,并将汇总计算后的结果进行合并,被用作汇总计算的函数成为聚合函数。

数据分组的具体分组流程如下图所示。

Excel中有数据分组这个功能,但是在使用这个功能以前要先对键进行排序(你要按照哪一列进行分组,那么键就是这一列),升序或降序都可以,排序前后的结果如下图所示。

键值排序完成后,选中待分组区域,然后依次单击菜单栏中的数据>分类汇总即可。分类字段、汇总方式都可以根据需求选择。汇总方式就是对分组后的数据进行什么样的运算,我们这里进行的是计数运算,因此在选定汇总项中勾选数值复选框。分类汇总对话框及分组结果如下图所示。

Excel中常见的汇总方式如下表所示。

在Python中对数据分组利用的是groupby()方法,这个有点类似于sql中的groupby,在接下来的几个小节里面,我们会重点介绍Python中的groupby()方法。

分组键是列名时直接将某一列或多列的列名传给groupby(),groupby()方法就会按照这一列或多列进行分组。

按照一列进行分组

从上面的结果可以看出,如果只传入列名,运行groupby()方法以后返回的不是一个DataFrame对象,而是一个DataFrameGroupBy对象,这个对象里面包含着分组以后的若干组数据,但是没有直接显示出来,需要对这些分组进行汇总计算以后才能显示出来。

上面的代码是根据客户分类对所有数据进行分组,然后对分组以后的数据分别进行计数运算,最后进行合并。

由于对分组后的数据进行了计数运算,因此每一列都会有一个结果,但是如果对分组后的结果做一些数值运算,这个时候就只有数据类型是数值(int、float)的列才会参与运算,比如下面的求和运算。

我们把这种对分组后的数据进行汇总运算的操作称为聚合,使用的函数称为聚合函数。

前面讲过的汇总函数都可以作为聚合函数对分组后的数据进行聚合。

按照多列进行分组

上面分组键是某一列,即按照一列进行分组,也可以按照多列进行分组,只要将多个列名以列表的形式传给groupby()即可,汇总计算方式与按照单列进行分组以后数据运算的方式一致。

无论分组键是一列还是多列,只要直接在分组后的数据上进行汇总计算,就是对所有可以计算的列进行计算。有时候我们不需要对所有的列进行计算,这时候就可以把想要计算的列(可以是单列,也可以是多列)通过索引的方式取出来,然后在取出来这列数据的基础上进行汇总计算。

比如我们想看一下A、B、C类客户分别有多少,我们先按照客户分类进行分组,然后把用户ID这一列取出来,在这一列的基础上进行计数汇总计算即可。

把DataFrame的其中一列取出来就是一个Series,比如下面的df["客户分类"]就是一个Series。

分组键是列名与分组键是Series的唯一区别就是,给groupby()方法传入了什么,其他都一样。可以按照一个或多个Series进行分组,分组以后的汇总计算也是完全一样的,也支持对分组以后的某些列进行汇总计算。

按照一个Series进行分组

按照多个Series进行分组

前面用到的聚合函数都是直接在DataFrameGroupBy上调用的,这样分组以后所有列做的都是同一种汇总运算,且一次只能使用一种汇总方式。

aggregate的第一个神奇之处在于,一次可以使用多种汇总方式,比如下面的例子先对分组后的所有列进行计数汇总运算,然后对所有列做求和汇总运算。

aggregate的第二个神奇之处在于,可以针对不同的列做不同的汇总运算,比如下面的例子,我们想看不同类别的用户有多少,那么对用户ID进行计数;我们想看不同类别的用户在7、8月的销量,则需要对销量进行求和。

通过上节代码运行的结果可以看出,DataFrameGroupBy对象经过汇总运算以后的形式并不是标准的DataFrame形式。为了接下来对分组结果进行进一步处理与分析,我们需要把非标准形式转化为标准的DataFrame形式,利用的方法就是重置索引reset_index()方法,具体实现如下所示。

数据透视表实现的功能与数据分组类似但又不同,数据分组是在一维(行)方向上不断拆分,而数据透视表是在行、列方向上同时拆分。

下图为数据分组与数据透视表的对比。

数据透视表不管是在Excel还是Python中都是一个很重要的功能,大家需要熟练掌握。

Excel中的数据透视表在插入菜单栏中,单击插入数据透视表以后就会看到如下图所示的界面。下图左侧为数据透视表中的所有字段,右侧为数据透视表的选项,把左侧字段拖入右侧对应的框中即完成了数据透视表的制作。

下图展示了让客户分类作为行标签,区域作为列标签,用户ID作为值,且值字段的计算类型为计数的结果。

在数据透视表中把多个字段拖到行对应的框中作为行标签,同样把多个字段拖到列对应的框中作为列标签,把多个字段拖到值对应的框中作为值,而且可以对不同的值字段选择不同的计算类型,请大家自行练习。

Python中数据透视表的制作原理与Excel中的制作原理是一样的。

Python中的数据透视表用到的是pivot_table()方法。

接下来看一些具体实例:客户分类作为index,区域作为columns,用户ID作为values,对values执行count运算,运行结果如下:

上面的运行结果与Excel的不同之处就是没有合计列,Python数据透视表中的合计列默认是关闭的,让其等于True就可以显示出来,示例如下所示。

合计列的名称默认为All,可以通过设置参数margins_name的值进行修改,示例如下所示。

NaN表示缺失值,我们可以通过设置参数fill_value的值对缺失值进行填充,示例如下所示。

aggfunc用来表示计算类型,当只传入一种类型时,表示对所有的值字段都进行同样的计算;如果需要对不同的值进行不同的计算类型,则需要传入一个字典,其中键为列名,值为计算方式。下面对用户ID进行计数,对7月销量进行求和。

为了便于分析与处理,我们一般会对数据透视表的结果重置索引,利用的方法同样是reset_index()。

THE END
1.高德POI分类代码一览表.pdf文档全文预览内容提供方:00625 大小:245.02 KB 字数:约5.41万字 发布时间:2019-01-06发布于湖北 浏览人气:3069 下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币 (10金币=人民币1元)高德POI分类代码一览表.pdf 关闭预览 想预览更多内容,点击免费在线预览全文 免费在线预览全文 高德POI分类代码一览表 (此https://max.book118.com/html/2019/0103/5001131114001344.shtm
2.莆田学院附属医院后勤一站式服务社会化采购项目服务类采购项目附件4、招标内容及要求:详见《采购标的一览表》及招标文件第五章。 5、需要落实的政府采购政策:无 6、投标人的资格要求 6.1法定条件:符合政府采购法第二十二条第一款规定的条件。 6.2特定条件: 包:1 6.3是否接受联合体投标:不接受。 ※根据上述资格要求,投标文件中应提交的“投标人的资格及资信证明文件”详见招标文件http://u002fwww.ptzfcg.gov.cn/upload/document/20211228/4b0559cfb42f4bdd868f717971a312ca.html
3.Tableau选餐厅数据看板7、第七个图表是菜品均分 image 8、第八个图表是餐厅一览表 image 9、最后的 BI 看板(仪表盘) image image 有了这个 BI 看板之后,你就再也不要纠结吃什么了,只有你输入所在的城市、菜系、环境、口味、服务、预算等要求,就能自动筛选出对应餐厅的店名和所在的地址。https://www.jianshu.com/p/b2c50c2e0a88
4.超市促销活动方案策划流程(模板18篇)七、开业项目费用一览表(略) 超市促销活动方案策划流程篇8 五一节,是春节长假后的第一个黄金周,是旺季来临的标志,是全年营销的第一场大战役。因此,五一节的促销不仅不能错过,且要重视并搞好。 继三四月销售低迷后,五一节迎来了消费者消费欲望的复苏。随着春深夏至,季节性消费、换季消费开始抬头。我们综合多年的经http://www.xiefangan.com/cehuafangan/58977.html
5.软件测试bug记录表74综合管理/统计分析/菜品类别查询账单时,如果查不出账单或查询条件选择错误, 系统没有给出任何提示。 75综合管理/统计分析/退菜一览查询账单时,如果查不出账单或查询条件选择错误, 系统没有给出任何提示。 76综合管理/系统管理/优惠卡新增模块卡编号的数据类型应该限制为数字 77综合管理/系统管理/优惠卡新增模块卡https://www.360docs.net/doc/5f16594360.html
6.外卖系统数据库架构图外卖管理系统数据流图后台系统中可以管理套餐信息,通过新增套餐功能来添加一个新的套餐,在添加套餐时需要选择当前套餐所属的套餐分类和包含的菜品,并且需要上传套餐对应的图片,在移动端会按照套餐分类来展示对应的套餐。 1.2 新增套餐数据模型 新增套餐,其实就是将新增页面录入的套餐信息插入到setmeal表,还需要向setmeal_dish表插入套餐和菜https://blog.51cto.com/u_16213723/11094788
7.烧烤店菜品进销存怎么做账零代码企业数字化知识站烧烤店的菜品进销存做账可以通过以下几步来实现:1、设置菜品分类,2、记录采购信息,3、记录销售信息,4、进行库存管理,5、定期盘点和调整。其中,设置菜品分类是关键的一步,可以帮助你更好地管理各种菜品,并简化后续的记录和分析工作。通过将菜品分为肉类、海鲜、蔬菜等不同类别,你可以轻松地追踪每类菜品的采购、销售https://www.jiandaoyun.com/blog/article/1073030/
8.用英文介绍粤菜的特点特产零食粤菜是中国传统八大菜系之一,是广东省的地方菜系,以广州菜为代表。粤菜以其独特的口味、丰富的菜品和精美的制作工艺而闻名于世。下面将从风味、调料、烹饪技巧、菜品分类、烹饪方式、饮食文化等方面详细介绍粤菜的特点。 风味 粤菜的风味独特,鲜美可口,以清、鲜、爽、嫩、滑、脆、酥、香、浓、甜、酸、辣等特点著http://www.x5an.cn/tclsxan/9553.html
9.小菜单,大学问,菜单背后都蕴含着哪些经济学和美学知识?餐厅的调性不同,菜单的风格也不尽相同,然而关键的是,有些餐厅的菜单根本就谈不上风格,只能称之为价目一览表。 菜单首先给人的感觉应该是赏心悦目的,所以,在样式上,最好要有菜品的实拍图,包括在排版设计、颜色搭配上都要精心设计,各个菜之间到底应该用S型排版还是三角排版,抑或是满型版的排版,都要推敲。 https://www.iyiou.com/news/2019022893623
10.菜品列表如何实现以及如何和分类进行联动?上一篇文章我们介绍了菜品分类的功能,主要是利用侧边栏组件来实现的。在点餐场景中,当我们选择一个类目时,我们希望能看到该类目下的菜品,所以在点击类目时需要与菜品列表有联动效果。这篇文章我们就来介绍如何实现菜品列表以及如何与类目联动。 1. 菜单列表功能 https://m.bjhwtx.com/h-nd-138213.html
11.可以对餐厅的分类菜品套餐订单员工等进行管理维护本项目(瑞吉外卖)是专门为餐饮企业(餐厅、饭店)定制的一款软件产品,包括系统管理后台和移动端应用两部分。其中系统管理后台主要提供给餐饮企业内部员工使用,可以对餐厅的分类、菜品、套餐、订单、员工等进行管理维护。移动端应用主要提供给消费者使用,可以在线浏览菜品、添加购物车、下单等。 https://gitee.com/dlyjd/reggie
12.2022年内江师范学院规范性文件汇编内江师范学院3.领导干部、党员学科带头人联系青年教师情况汇总表 中共内江师范学院委员会组织部 2021年8月5日 关于开展新一轮“三分类三升级”活动的通知 各党总支(直属党支部)、党支部: 为深入贯彻落实全国、全省、全市组织部长会议精神,全面提升学院基层党组织建设质量,充分发挥基层党组织在推动学院改革发展稳定和人才培养中的https://xxgk.njtc.edu.cn/info/1631/2501.htm
13.打印机雪糕冰棍冷饮冷藏打价格标签冰箱蛋糕冰粉菜品食材日期防冻商品名称:厨房冷冻食品标签打印机雪糕冰棍冷饮冷藏打价格标签冰箱蛋糕冰粉菜品食材日期防冻贴纸肉类效期配料表 B1艾绿送1卷40*30白色冷冻标签 商品编号:10128593777503 店铺: 凯阑工业品专营店 货号:4096095137111330 类别:标签/条码打印机 接口类型:无接口 是否支持定制:定制 打印精度:305dpi 打印速度:355mm/s 条码类型https://item.jd.com/10128593777503.html