首页 > 后端开发 > Python教程 > 如何有效地计算 Pandas DataFrame 中组内术语的出现次数?

如何有效地计算 Pandas DataFrame 中组内术语的出现次数?

Linda Hamilton
发布: 2024-12-12 17:11:14
原创
628 人浏览过

How to Efficiently Count Term Occurrences within Groups in a Pandas DataFrame?

按 Pandas 数据框中的术语计数进行分组

问题:

给定一个数据框以下列:id、group 和 term。目标是确定每个术语在 id 和 group 的每个唯一组合中出现的次数。

解决方案:

要避免使用循环,请使用 groupby 和Pandas 中的 size 函数:

df.groupby(['id', 'group', 'term']).size().unstack(fill_value=0)
登录后复制

groupby 函数按指定列(id、group 和term),而 size 函数计算每个组合的出现次数。 unstack 函数会生成一个更具视觉吸引力的表格,其中计数以矩阵形式排列。

结果是一个具有多索引列的表格,其中前两个级别代表 id 和 group 的组合,第三个级别代表 id 和 group 的组合对应于该术语。表中的每个单元格显示特定术语在相应 ID 和组中出现的次数。

时间:

对于大型数据集(例如 1,000,000 行) ,性能非常出色:

df = pd.DataFrame(dict(id=np.random.choice(100, 1000000),
                       group=np.random.choice(20, 1000000),
                       term=np.random.choice(10, 1000000)))
登录后复制

使用上述方法,经过的时间约为1秒。

以上是如何有效地计算 Pandas DataFrame 中组内术语的出现次数?的详细内容。更多信息请关注PHP中文网其他相关文章!

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