【发布时间】:2021-07-16 08:50:48
【问题描述】:
我有一个看起来像这样的 Pandas DataFrame:
| index | ID | value_1 | value_2 |
|---|---|---|---|
| 0 | 1 | 200 | 126 |
| 1 | 1 | 200 | 127 |
| 2 | 1 | 200 | 128.1 |
| 3 | 1 | 200 | 125.7 |
| 4 | 2 | 300.1 | 85 |
| 5 | 2 | 289.4 | 0 |
| 6 | 2 | 0 | 76.9 |
| 7 | 2 | 199.7 | 0 |
我的目标是找到每个ID-group(在本例中为 1,2)中的所有行,这些行具有 value_1 列的最大值。第二个条件是如果每组有多个最大值,则取value_2列中的最大值所在的行。
所以目标表应该是这样的:
| index | ID | value_1 | value_2 |
|---|---|---|---|
| 0 | 1 | 200 | 128.1 |
| 1 | 2 | 300.1 | 85 |
【问题讨论】:
标签: python pandas max pandas-groupby