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