当前位置:首页 > 技术分析 > 正文内容

「Python数据分析」Pandas进阶,使用groupby分组聚合数据(二)

ruisui882周前 (04-09)技术分析7

在实际的数据分析过程中,我们把原始数据集,进行分组处理之后,往往需要对分组结果中的,各个小组的数据进行不同的操作。这就需要对我们的分组结果对象,通过循环迭代的方式,访问和操作不同组内部的数据元素。

在组中迭代

我们先来生成原始模拟数据集

然后对A列进行分组,并且循环访问分组中的数据

我们可以看到,通过for循环语句,我们分别可以拿到子分组名称name,和子分组数据group,这个过程是循环自动进行的。如果我们要对子分组进行操作的话,则需要在for循环中,编写操作代码。如果我们要访问子分组中的数据元素,则需要在for循环语句中,再嵌套一个for循环,才能访问到子分组中的数据元素。

我们还可以通过get_group函数,选择某一个单一的子分组,这样可以单独对子分组进行操作处理。

分组的聚合操作

在对原始数据完成分组处理后,我们经常需要查看各个子分组的汇总数据,平均数据等等情况,这个过程,就是分组数据的聚合操作。

我们重新生成一个数据集

然后通过kind列,对数据进行分组,并且对各个子分组进行求和操作。

这样,就得到了各个子组的,另外两列的汇总数据。

这里,默认是使用kind分组列,作为汇总数据集的数据标签索引列。

我们也可以重新生成索引,如下所示

只需要设置as_index属性为false即可,这样可以让数据更加整洁美观,并且有序。

类似于sum这样的聚合函数,还有很多。我整理了一个表格,大家可以参照着使用。

比如说,我们要查看均值和方差的话,就需要用到mean和var函数。

通过以上聚合函数,可以让我们对分组数据,进行一些简单的统计分析,得出各个子分组的相关统计项。

我们还可以通过describe函数,对各个子分组,进行描述性数据展示,可以计算各个子分组的各项统计数据。

aggregate()聚合函数方法

为了让分组数据的聚合操作更加直观,更加通俗易懂,我们可以使用aggregate()函数,对分组后的数据进行聚合操作。

上述代码,就是先对A列进行分组,然后通过aggregate()函数,对分组后的数据进行sum的汇总聚合操作。

注意,这里聚合的列是C和D两列。

以下是更加简易的聚合方法

重新生成数据标签索引

也可以使用reset_index函数,重新生成索引

可以看出,重新生成索引之后,聚合后的结果数据集,更加整理,美观。

以上就是我们groupby第二部分的内容。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3388.html

分享给朋友:

“「Python数据分析」Pandas进阶,使用groupby分组聚合数据(二)” 的相关文章

智慧校园平台解决方案-收费管理系统

收费管理系统简介:学生收费管理系统与教务系统,学工系统实现数据互通;实现网站支付功能,实现学生在家,在宿舍,只要能够上网即可通过支付宝,微信,网银对产生的订单进行支付。服务网大厅中的web网上查询使得数据查询更加便利,财务负责人通过平台查看学生收费情况,院系老师通过查询平台查询本院系实时收费情况等,...

适合旧电脑2022年值得推荐的 10 款轻量级 Linux 发行版

推荐 10 款轻量级Linux 发行版,它们是 2022 年的轻量级、对旧硬件友好的 Linux 发行版。1、Linux LiteLinux Lite 是一款基于#ubuntu# 和 Debian 的、正在不断开发和完善的 Linux 发行版,极好看的 Xfce 桌面,并基于 Ubuntu,采用了...

vue3中父子传值、defineProps用法、defineEmits用法

Vue3中新增了一个 script setup 语法糖模式,可以在单文件组件中更简洁地编写组件逻辑。使用 script setup 语法后,props、data、computed、methods 等选项不再需要独立定义,而是可以直接在 setup 函数中声明,代码结构更加清晰,并且可以更方便地使用响...

Vue组件通信之props深入详解!

props 是 Vue 组件中一个很重要的概念。它是用来从父组件向子组件传递数据的。为什么需要props?这是因为在Vue中,组件是相互隔离的。每个组件都有自己的作用域,子组件无法直接访问父组件的状态或值。通过props,父组件可以将数据传递给子组件。使用props的步骤:1. 在子组件中定义pro...

react hooks自定义组件居然能这样做

前言  这里写一下如何封装可复用组件。首先技术栈 react hooks + props-type + jsx封装纯函数组件。类组件和typeScript在这不做讨论,大家别白跑一趟。接下来会说一下封装可复用组件的思路,比如一个新手应该怎么去封装,都需要有哪些东西。  然后说一些复杂组件需要的功能,...

我的VIM配置

写一篇关于VIM配置的文章,记录下自己的VIM配置,力求简洁实用。VIM的配置保存在文件~/.vimrc中(Windows下是C:\Users\yourname \_vimrc)。VIM除了自身可配置项外,还可插件扩展。VIM的插件一般用vundle或vim-plug来管理,但我力求简单,不打算装太...