【发布时间】:2017-10-09 12:57:06
【问题描述】:
我有下表:
Item number | crit_A | crit_B|
------------|--------|-------|
1 | 100 | 20 |
1 | 10 | 100 |
1 | 50 | 50 |
2 | 10 | 100 |
2 | 90 | 10 |
2 | 90 | 10 |
我希望 pandas 数据框操作只返回第一行和第五行。这对应于给定项目的 crit_A 最大的行。
Item number | crit_A | crit_B|
------------|--------|-------|
1 | 100 | 20 |
2 | 90 | 10 |
注意:当 crit_A 对给定项目有多个相等的值时,我只需要返回一个项目。
以下不是我要找的:
res_82_df.groupby(['Item number']).max()
这不起作用,因为它会按项目编号分组,但会返回所有列的最大值。另请注意:我可以查找任意阈值并执行查询语句。但这种方法也不可靠,因为我总是需要查看数据并做出价值判断。
我如何有效地做到这一点?
注意:我的问题确实与上面链接的问题重复。虽然这里的答案非常独特,而且更加简洁,并且按照我的要求去做。
【问题讨论】: