Наличие двух наборов списков с идентификаторами ячеек
A = [4, 6, 2493, 2494, 2495]
B = [3, 7, 4983, 4982, 4984, 4981, 4985, 2492, 2496]
И каждая ячейка из верхних списков имеет X, Y
координаты в отдельных столбцах в df, каждый.
df
cell_ID; X ;Y
1; 5; 6
2; 10; 6
...
Где значения в списке A
, B
соответствуют значениям в столбце cell_id
.Как я могу найти sum
расстояний между ячейками в A и B, но в первую очередь смотреть на ячейки в A
по отношению к B
?Поэтому мне нужно рассчитать 5 (длина) расстояний для каждой ячейки в A, взять min()
из этих 5 и sum()
всех этих девяти минутных значений.Я надеюсь, что это имеет смысл
Я думал следующее:
- Возьмите первое значение из списка A (это ячейка с id = 4) и вычислите расстояние между всеми ячейками в B иВозьмите только
min
значение - Повторите шаг 1 со всеми другими значениями в A
- Создайте
sum()
всех расстояний
Я пытался скод ниже ... но не удалось
def sum_distances(df, i, col_X='X', col_Y='Y'):
for i in range(A)
return (((df.iloc[B][col_X] - df.iloc[i,2])**2 + (df.iloc[B][col_Y] - df.iloc[i,3])**2)**0.5).min
Я не знаю, как объединить min()
и sum()
одновременно.