在 Pandas 中执行 Groupby 操作时如何保留附加列?

Barbara Streisand
发布: 2024-10-25 06:13:29
原创
488 人浏览过

How Can I Keep Additional Columns While Performing Groupby Operations in Pandas?

在 Groupby 操作期间保留附加列

使用 pandas 执行 group-by 操作时,通常需要在聚合特定列时维护附加列柱子。这允许高效的数据操作,而不需要额外的连接或操作。

考虑给出的示例,您希望删除“diff”列中具有最小值的行,同时保留其他列,例如“otherstuff” ”。默认情况下,pandas 在使用 groupby 和 min() 等聚合函数时会删除附加列。

要解决此问题,有两种有效的方法:

方法 1:使用 idxmin () 识别行索引

idxmin() 返回包含指定列最小值的行索引。通过利用此功能,您可以仅选择满足条件的行。以下代码演示了这种方法:

<code class="python">df.loc[df.groupby("item")["diff"].idxmin()]</code>
登录后复制

方法 2:排序并选择第一个元素

另一种方法涉及按“diff”列对数据帧进行排序,然后选择每组的第一个元素。这可确保您获得具有最小“diff”值的行,同时保留其他列。以下代码展示了此方法:

<code class="python">df.sort_values("diff").groupby("item", as_index=False).first()</code>
登录后复制

在这两种方法中,结果都是一个数据帧,其中仅包含“diff”具有最小值的行,同时保留“otherstuff”列。两种方法的行索引可能不同,但内容保持不变。

以上是在 Pandas 中执行 Groupby 操作时如何保留附加列?的详细内容。更多信息请关注PHP中文网其他相关文章!

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