我有一个pandas数据框
id x_value y_value
100 1 2
200 3 1
300 5 3
400 3 6
500 3.2 3.5
600 4.5 3
我希望能够从这些坐标对中找到中间点,以便返回最接近中间点坐标的数据框行。
def get_centroid(df):
lat_mean = df['x_value'].mean()
lat_mean = df['x_value'].iloc[(df['x_value']-lat_mean).abs().argsort([:1]].tolist()[0]
long_mean = df['y_value'].mean()
long_mean = df['y_value'].iloc[(df['y_value']-long_mean).abs().argsort()[:1]].tolist()[0]
return([lat_mean,long_mean])
但是这种方法是错误的,因为我无法得到确切的 df 对。
有其他的方法吗?
sqrt
不是必需的。 - Eric Duminilsqrt
具有单调关系,因此min的位置不会改变。 - piRSquared