如何在Pandas中向分组数据框中添加列
在数据分析中,经常需要对数据进行分组并进行计算每组。 Pandas 通过其 groupby 函数提供了一种便捷的方法来做到这一点。一个常见的任务是计算每个组中某一列的值,并将包含这些计数的列添加到数据帧中。
考虑数据帧 df:
df = pd.DataFrame({'c':[1,1,1,2,2,2,2],'type':['m','n','o','m','m','n','n']})
要计算每个 c 的 type 值,我们可以在分组数据帧上使用 value_counts 函数:
g = df.groupby('c')['type'].value_counts().reset_index(name='t')
这将创建一个包含组计数的新数据帧 g 。要向 g 添加一列,其中包含每个组的大小,我们可以使用变换函数:
g['size'] = df.groupby('c')['type'].transform('size')
transform 将函数应用于原始数据帧中的每个组,并返回一个其索引与原始数据帧对齐的系列。在本例中,我们使用 size 函数来计算每个组中的元素数量,并将其分配给新的列大小。生成的数据帧 g 现在看起来像这样:
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
这演示了一种根据 groupby 聚合的结果向分组数据帧添加新列的简单方法。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3