Предположим, у вас есть csv1 в df1 и csv2 в df2
, вы можете создать новый столбец в df1 с применимой формулой, а затем объединить с этим -
import pandas as pd
df1 = pd.read_csv('csv1.csv')
df2 = pd.read_csv('csv2.csv')
df1['avg_depth'] = (df1['From_Depth'] + df1['To_Depth'])/2
df_merged = pd.merge(df1, df2, left_on='avg_depth', right_on='Position', how='left')
df_merged = df_merged[['ID', 'From_Depth', 'To_Depth', 'Label']]
df_merged.to_csv('output_csv.csv', index=None)
Что я могу понятьиз вашей формулы поиска - средние глубины в csv1 ищутся с помощью столбца позиции в csv2, если он найден, он занимает столбец F (метка).
Редактировать: Как уже упоминал Матиас, pd.merge_asof получает ближайшие значения ключа соединения.Можно также использовать это
df_merged = pd.merge_asof(df1.sort_values('avg_depth'), df2.sort_values('Position'), left_on='avg_depth', right_on='Position', direction='nearest', suffixes=['', '_2'])