首页 > 后端开发 > Python教程 > 如何将具有组计数的列添加到 Pandas 中的分组数据框?

如何将具有组计数的列添加到 Pandas 中的分组数据框?

Susan Sarandon
发布: 2024-10-19 12:21:29
原创
434 人浏览过

How to Add a Column with Group Counts to a Grouped Dataframe in Pandas?

如何在 Pandas 中向分组 Dataframe 添加列

在数据分析中,经常需要对数据进行分组并进行计算每组。 Pandas 通过其 groupby 函数提供了一种便捷的方法来做到这一点。一个常见的任务是计算每个组中某一列的值,并将包含这些计数的列添加到数据帧中。

考虑数据帧 df:

<code class="python">df = pd.DataFrame({'c':[1,1,1,2,2,2,2],'type':['m','n','o','m','m','n','n']})</code>
登录后复制

要计算输入每个 c,我们可以在分组数据帧上使用 value_counts 函数:

<code class="python">g = df.groupby('c')['type'].value_counts().reset_index(name='t')</code>
登录后复制

这将创建一个包含组计数的新数据帧 g。要向 g 添加包含每个组大小的列,我们可以使用转换函数:

<code class="python">g['size'] = df.groupby('c')['type'].transform('size')</code>
登录后复制

transform 将函数应用于原始数据帧中的每个组,并返回一个系列,其索引与原始数据框。在这种情况下,我们使用 size 函数来计算每个组中的元素数量,并将其分配给新的列大小。生成的数据框 g 现在如下所示:

<code class="python">   c type  t  size
0  1    m  1     3
1  1    n  1     3
2  1    o  1     3
3  2    m  2     4
4  2    n  2     4</code>
登录后复制

这演示了一种根据 groupby 聚合的结果将新列添加到分组数据框的简单方法。

以上是如何将具有组计数的列添加到 Pandas 中的分组数据框?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板