如何在 Pandas 中进行 Groupby 操作后向分组 DataFrame 添加列?

DDD
发布: 2024-10-19 12:02:30
原创
881 人浏览过

How to Add a Column to a Grouped DataFrame After Groupby Operations in Pandas?

向 pandas 中的分组 DataFrame 添加列

在 pandas 中使用 GroupBy 操作时,向结果添加附加信息可能会很有帮助数据框。本文探讨了如何在执行 groupby 聚合后有效地将列添加到分组数据帧中的问题。

考虑以下数据帧:

df = pd.DataFrame({'c':[1,1,1,2,2,2,2],'type':['m','n','o','m','m','n','n']})
登录后复制

目标是计算为“c”的每个值键入“type”列,并向分组数据框中添加一个新列,表示每个“c”组的“大小”。执行 groupby 聚合后:

g = df.groupby('c')['type'].value_counts().reset_index(name='t')
登录后复制

数据框“g”现在包含每个“c”的“type”计数:

   c type  t
0  1    m  1
1  1    n  1
2  1    o  1
3  2    m  2
4  2    n  2
登录后复制

添加“size”列,一种选择是使用map函数:

a.index = a['c']
g['size'] = g['c'].map(a['size'])
登录后复制

但是,还有一种更直接的方法使用transform函数:

g['size'] = df.groupby('c')['type'].transform('size')
登录后复制

使用transform,可以添加尺寸列直接到“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
登录后复制

以上是如何在 Pandas 中进行 Groupby 操作后向分组 DataFrame 添加列?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!