计算 2 个数据帧之间的最小距离并估计一个数据帧中的缺失点位置

Posted

技术标签:

【中文标题】计算 2 个数据帧之间的最小距离并估计一个数据帧中的缺失点位置【英文标题】:calculate the minimum distance between 2 dataframe and estimate the missing points location in one dataframe 【发布时间】:2021-12-21 19:28:54 【问题描述】:

估计数据框:

index x y
1 0.47 0.46
2 0.44 0.46
3 0.41 0.45
4 0.38 0.45
5 0.35 0.45
6 0.33 0.44
7 0.30 0.43
8 0.30 0.39

real_dataframe:

index x y
1 0.46 0.463
4 0.40 0.453
5 0.37 0.455
6 0.34 0.450
7 0.32 0.448

目标:计算估计与真实之间的最小距离,并将该距离与不匹配的估计数据点相加,以指示真实数据帧中的缺失位置

缺失的可能位于数据帧的中间,在这种情况下(2,3 和 8)real_missing 等于估计加上距离

index x y
2 0.44 plus d 0.46 plus D
3 0.41 plus d 0.45 plus D
8 0.30 plus d 0.39 plus D

【问题讨论】:

注意:估计数据帧和真实数据帧的不同索引点之间的最小距离可能是 0.44 plus d d 来自哪里? 【参考方案1】:
import math
mindistance = []
mindistance_x = []
mindistance_y = []
l_list = []
for x, y in zip(data_test.x_center,data_test.y_center):
    #x = data_test.x_center[0]
    #y = data_test.y_center[0]
    dist = []
    dist_x = []
    dist_y = []
    for w,z in zip(Estimated.x_center,Estimated.y_center):
        distance = math.sqrt((x - w)**2 + (y - z)**2)
        dist.append(distance)
        dist_x.append(x-w)
        dist_y.append(y-z)
    l = np.argmin(dist)
    l_list.append(l)
    mindistance.append(dist[l])
    mindistance_x.append(dist_x[l])
    mindistance_y.append(dist_y[l])

#average_min_distance = mean(mindistance)
#average_min_distance

【讨论】:

以上是关于计算 2 个数据帧之间的最小距离并估计一个数据帧中的缺失点位置的主要内容,如果未能解决你的问题,请参考以下文章

如何在不同的数据帧中选择特定时间段内的点,然后根据纬度/经度选择这两个点之间的距离

通过在两个 Pandas 数据帧之间迭代来识别相似的值。

使用一个数据帧中的值作为在另一个数据帧上估计的模型的参数

使用lambda函数计算数据帧中2列中值之间的差值

如果日期介于第二个数据帧中的两个日期之间,则 r 标记第一个数据帧中的行

使用数据帧中的某些参数计算日期之间的差异