首页  >  文章  >  后端开发  >  如何在分组的 Pandas DataFrame 中查找最小值时保留其他列?

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

Barbara Streisand
Barbara Streisand原创
2024-10-24 20:29:29511浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn