python - Python pandas数据框:找到E列为1且A列最大的行,在平局的情况下,考虑B、C、D列中最大的
问题描述
我有一个示例数据框,如下所示。因为我们需要从 E 列为 1 的行中进行选择,所以结果应该在前 4 行中。从哪一列中选择最大的,我们有前 3 行。所以我们需要看看哪些B列是最大的。由于我们又打平了,我们应该看到 C 列并找到最大的列。最后我们得到第一列。
A B C D E
4 4 3 1 1
4 2 0 0 1
4 4 1 1 1
3 0 0 0 1
5 0 0 1 0
所以想要的输出是这样的:
A B C D E
4 4 3 1 1
解决方案
一种方法是结合使用过滤和排序:
res = df.loc[df['E'] == 1]\
.sort_values(['A', 'B', 'C', 'D'], ascending=False)\
.head(1)
print(res)
A B C D E
0 4 4 3 1 1
推荐阅读
- python - 如何从 Angular 向 Flask 服务器发出 POST 请求
- javascript - 如何在本机反应中获取所选元素?
- python-3.x - 使用 matplotlib 未显示绘图
- php - 扩展一个始终将“where status = 'cancelled'”附加到选择语句的 Laravel 模型?
- javascript - 编写高性能的 Javascript 代码而不会去优化
- java - 是什么导致我的 java awt 和 swing 浏览器的后退按钮无法正常工作?
- google-colaboratory - 在 google colab 中传递命令行参数
- javascript - 如何将项目的 id 从列表传递给其他函数
- tabulator - 带有分页的制表符动态高度
- css - Tailwind CSS - 固定位置的溢出页脚