Как в обработать таблицу, используя формулу?
Есть таблица, полученная из двух таблиц через Pandas:
newbs longitudeX1 latitudeY1 oldbs longitudeX2 latitudeY2 BSC LAC
0 IR021 105.98790 52.78068 NaN NaN NaN NaN NaN
1 IR048 102.19558 53.17582 NaN NaN NaN NaN NaN
2 IR066 105.48000 54.04308 NaN NaN NaN NaN NaN
0 NaN NaN NaN IR055 104.2578286633 52.255474988944 396402 5244
1 NaN NaN NaN IR107 104.29863944009 52.284744395507 396402 5244
... ... ... ... ... ... ... ... ...
1394 NaN NaN NaN IR294 103.84349640892 52.574271985462 401257 5272
1395 NaN NaN NaN IR295 105.57618886914 54.095100603944 401257 5251
1396 NaN NaN NaN IR299 103.77831487935 52.420066254791 401257 5259
1397 NaN NaN NaN IR290 103.82418234894 52.09637656718 401257 5272
1398 NaN NaN NaN IR291 103.85440774559 52.517154218339 401257 5272
Я пытаюсь найти соседство по такой формуле:
sqrt((x1-x2) * (x1-x2) + (y1-y2) * (y1-y2)).
Это расстояние двух ближайших точек.
Приблизительно такой результат ожидаю увидеть:
newbs longitudeX1 latitudeY1 oldbs longitudeX2 latitudeY2 BSC LAC
0 IR021 105.98790 52.78068 IR055 104.2578286633 52.255474988944 396402 5244
1 IR048 102.19558 53.17582 IR299 103.77831487935 52.420066254791 401257 5259
2 IR066 105.48000 54.04308 IR290 103.82418234894 52.09637656718 401257 5272
Как мне получить такую таблицу, используя формулу? У меня уже получалось найти соседство, но через один словарь, в котором был один newbs, там уже я сравнивал координаты по формуле newbs с oldbs. А теперь у меня несколько newbs - IR021, IR048, IR066. Поэтому пришлось мне создавать две таблицы, объединить в одну, как я сделал это в первой таблице.
Ответы (1 шт):
Вообще решил я проблему обьединением таблиц cross join, потом добавить столбец distance с формулой и сгруппировать по имени станции и взять минимум