我有两张table:
表A
和表B
对于表A中的每个值,我希望从表B中获取与表A中的值具有最小绝对差的值。此外,由于表B中的同一个值可能与表A中的多个值具有最小绝对差,因此表B中的每个值只能使用一次来与表A中的值匹配。
最终表格应如下所示:
询问ChatGPT后,我尝试了以下操作
results = {}
for x in A['MTM_VALUE']:
for y in B['MTM_VALUE']:
min_diff = min(abs(A['MTM_VALUE'] - B['MTM_VALUE']))
closest_value = min(B['MTM_VALUE'], key = lambda a: abs(a - A['MTM_VALUE']))
B['MTM_VALUE'].remove(closest_value)
results[x] = (closest_value, min_diff)
但是,我得到了错误,最好是在 Dataframe 中包含表B中的匹配值。
1条答案
按热度按时间ogq8wdun1#
我们可以对 Dataframe 应用
here
解决方案:或者一行:
输出: