如何在分组的 Pandas DataFrame 中查找最小值时保留其他列?

Barbara Streisand
发布: 2024-10-24 20:29:29
原创
511 人浏览过

How to Keep Other Columns While Finding Minimums in Grouped Pandas DataFrames?

Pandas DataFrame 中分组最小操作期间保留其他列

使用 groupby 函数按特定列对数据进行分组并执行聚合操作时与查找最小值一样,DataFrame 中的其他列可能会被无意中删除。

要在对分组列执行最小操作时保留其他列,请考虑以下方法:

方法 1 :使用 idxmin()

idxmin() 返回每组内最小值的索引。通过利用此功能,您可以仅选择所需的行:

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

方法 2:排序并获取第一个元素

或者,您可以按以下方式对数据帧进行排序在执行 groupby 操作并提取每组中的第一行之前的最小列:

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

两种方法都会产生所需的输出,保留 otherstuff 列,同时根据最小差异值过滤行:

   item  diff  otherstuff
0     1     1           2
1     2    -6           2
2     3     0           0
登录后复制

请注意,尽管行内容保持不变,但两种方法生成的索引可能会有所不同。

以上是如何在分组的 Pandas DataFrame 中查找最小值时保留其他列?的详细内容。更多信息请关注PHP中文网其他相关文章!

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