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

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

Susan Sarandon
Susan Sarandon原创
2024-10-19 12:21:29340浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn