我有两个看起来像这样的 csv 文件:
csv1:
ID From_Depth To_Depth
ABC 314 315
ABC 315 316
ABC 316 317
ABC 317 318
ABC 319 320
ABC 320 321
ABC 321 322
ABC 322 323
ABC 323 324
csv2:
ID Position Label
ABC 314.366 68
ABC 315.476 68
ABC 315.964 68
ABC 316.321 69
ABC 317.953 69
ABC 318.246 69
ABC 318.75 70
ABC 319.341 70
ABC 320.054 71
ABC 320.826 71
ABC 321.562 71
ABC 322.206 72
ABC 322.953 72
ABC 323.058 72
我想要做的是在 csv1 中创建一个名为“标签”的附加列,其中包含最接近 From_Depth 和 To_Depth 平均值(在 csv1 中)的位置标签(在 csv2 中)。
输出 csv 如下所示:
ID From_Depth To_Depth Label
ABC 314 315 68
ABC 315 316 68
ABC 316 317 69
ABC 317 318 69
ABC 319 320 70
ABC 320 321 71
ABC 321 322 71
ABC 322 323 72
ABC 323 324 72
在 excel 中,我可以使用 VLOOKUP 来完成此操作(假设两个 csv 在 excel 中并排):
=VLOOKUP((C2+B2)/2,$E$2:$F$15,2,TRUE)
我想知道如何在 python 中完成同样的事情。在我看来,VLOOKUP的“等价物”(例如merge
或insert
with map
)无法处理更复杂的任务,例如我所拥有的任务。