我有一个如下格式的表格:
我想创建一个表格,所有行都具有唯一的“城市”值,当存在两个或更多具有相同“城市”值的行时,希望返回具有最低“距离”的行。因此,在这种情况下,我希望得到这样的表格:
data = {'City' : ['London', 'Paris', 'Paris','NY' 'London'], 'Distance' : [5, 1, 7, 2, 6]}
df = pd.DataFrame(data)
df
City Distance
0 London 5
1 Paris 1
2 Paris 7
3 NY 2
4 London 6
我想创建一个表格,所有行都具有唯一的“城市”值,当存在两个或更多具有相同“城市”值的行时,希望返回具有最低“距离”的行。因此,在这种情况下,我希望得到这样的表格:
City Distance
London 5
Paris 1
NY 2
我知道我可以使用:
df.groupby('City')
但我不知道应该添加什么来返回最小的“距离”。
祝好, 罗莎
idxmin
;) - jezraeldf.loc[df.groupby('City')['Distance'].idxmin()]
。 - jezrael