首页 > 后端开发 > Python教程 > 如何获取 Pandas DataFrame 中每组的第一行?

如何获取 Pandas DataFrame 中每组的第一行?

Susan Sarandon
发布: 2024-11-10 15:06:02
原创
398 人浏览过

How to Get the First Row of Each Group in a Pandas DataFrame?

获取 Pandas DataFrame 中每个组的第一行

在 pandas 中,groupby 操作允许跨不同类别进行高效的数据聚合和操作。然而,检索每个组中的特定行可能是一个挑战。本文将演示如何在对 pandas DataFrame 进行分组时检索每个组的第一行。

问题:

我们有一个包含两列“id”的 DataFrame和“价值”。我们希望按“id”、“value”对 DataFrame 进行分组,并获取每个组的第一行。

预期结果:

id value
1 first
2 first
3 first
4 second
5 first
6 first
7 fourth

解决方案:

要检索每组的第一行,我们可以使用.first() 方法。通过传递“id”作为组键,.first() 为每个唯一的“id”组选择第一个非空元素。

df.groupby('id').first()
登录后复制

这将产生所需的输出,其中第一行为显示每个“id”组。

获取标识符作为列:

如果我们需要标识符作为列,我们可以使用 .reset_index()。

df.groupby('id').first().reset_index()
登录后复制

这会产生:

id value
1 first
2 first
3 first
4 second
5 first
6 first
7 fourth

检索多行:

要检索每组的前 n 行,我们可以使用.head().

df.groupby('id').head(2).reset_index(drop=True)
登录后复制

这允许我们从每组的开头检索指定数量的行。

以上是如何获取 Pandas DataFrame 中每组的第一行?的详细内容。更多信息请关注PHP中文网其他相关文章!

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