numpy 基于两个不同的列选择具有最高值的行

izj3ouym  于 2023-08-05  发布在  其他
关注(0)|答案(1)|浏览(77)

我有一个三列的dataframe:我想制定一个规则,如果对于同一个城市和同一个ID,选择最大值并删除具有较低值的行。
例如:
| 识别码|数值| Value |
| --|--| ------------ |
| 一个|十二点四十五分| 12.45 |
| 一个|十四点五六| 14.56 |
| 一个|十六点八九| 16.89 |
| 一个|二十三点八六| 23.86 |
| 一个|十四点五六| 14.56 |
| 一个|二十点七十六分| 20.76 |
预期输出:为同一城市和ID选择最高值。这里芝加哥有2个相同ID的条目,我想选择具有最高值的行。
预期输出
| 识别码|数值| Value |
| --|--| ------------ |
| 一个|十二点四十五分| 12.45 |
| 一个|十四点五六| 14.56 |
| 一个|十六点八九| 16.89 |
| 一个|二十三点八六| 23.86 |
| 一个|二十点七十六分| 20.76 |

wfauudbj

wfauudbj1#

按值降序对 Dataframe 进行排序,并删除重复项:

df = df.sort_values(by=['Value'], ascending=False).drop_duplicates(['City', 'ID'], keep='first')
print(df)

字符串
印刷品:

City  ID  Value
3   New York   1  23.86
5    Chicago   1  20.76
2      Paris   1  16.89
1  Amsterdam   1  14.56
0     London   1  12.45

相关问题