您当前的位置:首页 > 计算机 > 编程开发 > Python

Python+Pandas数据处理时的分裂与分组聚合操作

时间:01-10来源:作者:点击数:

问题描述:

DataFrame对象的explode()方法可以按照指定的列进行纵向展开,一行变多行,如果指定的列中有列表则列表中每个元素展开为一行,其他列的数据进行复制和重复。

e9e92ab550baba9028cd69deaab52812.png

该方法还有个参数ignore_index,设置为True时自动忽略原来的索引。

068d3136de228a085fae1463188ea895.png

如果有多列数据中都有列表,但不同列的结构不相同,可以依次按多列进行展开。

70789194fd625bdc28ae5aac730bcbdd.png

如果有多列数据中都有列表,且每列结构相同,可以一一对应地展开,类似于内置函数zip()的操作。

12c0d84c3e3aac894f6afce8544a1588.png

DataFrame对象的groupby()方法可以看作是explode()方法逆操作,按照指定的列对数据进行分组,多行变一行,每组内其他列的数据根据实际情况和需要进行不同方式的聚合。

如果除分组列之外的其他列进行简单聚合,可以直接调用相应的方法。

20757f52689a5b490ba90b7fb566f1d7.png

如果没有现成的方法可以调用,可以分组之后调用agg()方法并指定可调用对象作为参数,实现自定义的聚合方式。

3e83a4cb31c17352f156ee3b09eb3641.png
9c368527a342470261e7bcedba9d96ae.png

如果每组内其他列聚合方式不同,可以使用字典作为agg()方法的参数,对不同列进行不同方式的聚合。

931b9c7cb54457b46481953a705146f7.png
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门