Quantcast
Channel: Active questions tagged excel - Stack Overflow
Viewing all articles
Browse latest Browse all 88054

Finding the nearest three X/Y locations to every point in a dataset? [closed]

$
0
0

I've been going from post to post trying to solve this but can't find anything that matches my exact description.

I'm attempting to find the K=1-3 Nearest Neighbors to every X/Y coordinate in a dataset with criteria in which neighbors to compare to.

In Excel I was able to do this using the following formula:

{=INDEX($B$2:$B$216,
MATCH(SMALL(SQRT((IF($A$2:$A$216=$A2,$C$2:$C$216)-$C2)^2+(IF($A$2:$A$216=$A2,$D$2:$D$216)-$D2)^2),E$1+1),
SQRT((IF($A$2:$A$216=$A2,$C$2:$C$216)-$C2)^2+(IF($A$2:$A$216=$A2,$D$2:$D$216)-$D2)^2),0),1)}

This works as follows: INDEX($B$2:$B$216 returns the final value as ADJ_I

SMALL(SQRT((IF($A$2:$A$216=$A2,$C$2:$C$216)-$C2)^2+(IF($A$2:$A$216=$A2,$D$2:$D$216)-$D2)^2),E$1+1),
SQRT((IF($A$2:$A$216=$A2,$C$2:$C$216)-$C2)^2+(IF($A$2:$A$216=$A2,$D$2:$D$216)-$D2)^2)

This is the Euclidean distance formula with the added Criteria of only comparing values that are within the same LOC_C.

E$1+1 at the end of the first part makes sure that it does not return its own row value.

I am quite new overall to statistical analysis in Python whether its using Pandas or a KDBTree I've tried piecing code together but simply don't have the expertise to make it work for my data. The data and calculations are over 100k rows, so Excel either crashes or simply takes nearly a day to run the full dataset as seen in part below.

Here is a snippet that can be pasted into R:

structure(list(LOC = c(3, 3, 3, 3, 3, 3, 3), ADJ_I = c(1.1, 2.1, 
3.1, 3.2, 4.1, 5.1, 6.1), X = c(467, 231, 349, 436, 466, 498, 
582), Y = c(381, 252, 208, 226, 312, 292, 249), K_1 = c(29.1, 
34.1, 32.1, 7.1, 16.1, 38.1, 37.2), K_2 = c(18.1, 10.1, 17.1, 
16.1, 29.1, 16.1, 35.1), K_3 = c(18.1, 10.1, 17.1, 16.1, 29.1, 
16.1, 35.1)), class = "data.frame", row.names = c(NA, -7L))

More of the dataset looks like this:


+-------+-------+--------+--------+------+------+------+
| LOC_C | ADJ_I |   X    |   Y    | K=1  | K=2  | K=3  |
+-------+-------+--------+--------+------+------+------+
|     3 |   1.1 |    467 |    381 | 29.1 | 18.1 | 18.1 |
|     3 |   2.1 |    231 |    252 | 34.1 | 10.1 | 10.1 |
|     3 |   3.1 |    349 |    208 | 32.1 | 17.1 | 17.1 |
|     3 |   3.2 |    436 |    226 |  7.1 | 16.1 | 16.1 |
|     3 |   4.1 |    466 |    312 | 16.1 | 29.1 | 29.1 |
|     3 |   5.1 |    498 |    292 | 38.1 | 16.1 | 16.1 |
|     3 |   6.1 |    582 |    249 | 37.2 | 35.1 | 35.1 |
|     3 |   7.1 |    470 |    246 | 16.1 |  3.2 |  3.2 |
|     3 |   8.1 |    208 |    260 | 25.1 | 25.3 | 25.3 |
|     3 |   8.2 |    244 |    239 | 25.2 | 10.1 | 10.1 |
|     3 |   8.3 |    235 |    270 | 12.1 | 25.3 | 25.3 |
|     3 |   9.1 |    341 |    298 | 11.4 | 11.3 | 11.3 |
|     3 |   9.2 |    329 |    353 | 42.3 | 42.2 | 42.2 |
|     3 |  10.1 |    226 |    241 | 25.2 |  2.1 |  2.1 |
|     3 |  11.1 |    289 |    265 | 11.2 | 23.1 | 23.1 |
|     3 |  11.2 |    302 |    271 | 11.1 | 23.1 | 23.1 |
|     3 |  11.3 |    331 |    290 |  9.1 | 11.4 | 11.4 |
|     3 |  11.4 |    343 |    307 |  9.1 | 11.3 | 11.3 |
|     3 |  11.5 |    400 |    307 | 42.4 | 14.2 | 14.2 |
|     3 |  11.6 |    383 |    353 | 43.1 | 11.5 | 11.5 |
|     3 |  12.1 |    243 |    276 |  8.3 | 25.3 | 25.3 |
|     3 |  12.2 |    227 |    323 | 15.1 | 12.3 | 12.3 |
|     3 |  12.3 |    218 |    361 | 39.1 | 12.2 | 12.2 |
|     3 |  13.1 |    392 |    436 | 14.3 | 43.1 | 43.1 |
|     3 |  14.1 |    257 |    370 | 42.2 | 39.1 | 39.1 |
|     3 |  14.2 |    423 |    290 | 42.4 | 11.5 | 11.5 |
|     3 |  14.3 |    442 |    433 | 24.1 | 27.1 | 27.1 |
|     3 |  15.1 |    218 |    301 | 12.2 | 25.3 | 25.3 |
|     3 |  16.1 |    464 |    277 |  7.1 |  4.1 |  4.1 |
|     3 |  17.1 |    374 |    227 |  3.1 | 20.1 | 20.1 |
|     3 |  18.1 |    515 |    389 | 31.1 | 21.1 | 21.1 |
|     3 |  19.1 |    288 |    226 | 11.1 | 32.1 | 32.1 |
|     3 |  20.1 |    352 |    260 | 11.3 | 41.1 | 41.1 |
|     3 |  21.1 |    533 |    355 | 31.1 | 18.1 | 18.1 |
|     3 |  22.1 |    549 |    302 | 38.1 | 36.1 | 36.1 |
|     3 |  23.1 |    281 |    284 | 11.1 | 11.2 | 11.2 |
|     3 |  24.1 |    463 |    431 | 27.1 | 14.3 | 14.3 |
|     3 |  25.1 |    218 |    250 | 10.1 |  2.1 |  2.1 |
|     3 |  25.2 |    235 |    240 |  8.2 | 10.1 | 10.1 |
|     3 |  25.3 |    224 |    273 |  8.3 | 12.1 | 12.1 |
|     3 |  26.1 |    510 |    435 | 27.1 | 18.1 | 18.1 |
|     3 |  26.2 |    560 |    434 | 31.1 | 26.1 | 26.1 |
|     3 |  27.1 |    479 |    434 | 24.1 | 26.1 | 26.1 |
|     3 |  28.1 |    299 |    435 | 33.1 | 40.1 | 40.1 |
|     3 |  29.1 |    474 |    347 |  1.1 |  4.1 |  4.1 |
|     3 |  30.1 |    235 |    222 | 25.2 |  8.2 |  8.2 |
|     3 |  31.1 |    542 |    390 | 18.1 | 21.1 | 21.1 |
|     3 |  32.1 |    329 |    226 |  3.1 | 20.1 | 20.1 |
|     3 |  33.1 |    333 |    435 | 28.1 | 13.1 | 13.1 |
|     3 |  34.1 |    239 |    257 |  2.1 |  8.3 |  8.3 |
|     3 |  35.1 |    545 |    227 |  6.1 | 36.1 | 36.1 |
|     3 |  36.1 |    530 |    272 | 38.1 | 22.1 | 22.1 |
|     3 |  36.2 |    585 |    338 | 22.1 | 21.1 | 21.1 |
|     3 |  37.1 |    242 |    433 | 39.1 | 28.1 | 28.1 |
|     3 |  37.2 |    587 |    260 |  6.1 | 35.1 | 35.1 |
|     3 |  38.1 |    521 |    306 |  5.1 | 22.1 | 22.1 |
|     3 |  39.1 |    224 |    381 | 12.3 | 14.1 | 14.1 |
|     3 |  40.1 |    289 |    388 | 42.2 | 14.1 | 14.1 |
|     3 |  41.1 |    387 |    274 | 42.4 | 11.5 | 11.5 |
|     3 |  42.1 |    292 |    309 | 23.1 | 11.2 | 11.2 |
|     3 |  42.2 |    286 |    352 | 14.1 | 40.1 | 40.1 |
|     3 |  42.3 |    335 |    363 |  9.2 | 43.1 | 43.1 |
|     3 |  42.4 |    407 |    301 | 11.5 | 14.2 | 14.2 |
|     3 |  43.1 |    373 |    387 | 11.6 | 42.3 | 42.3 |
|     4 |   1.1 | -12305 | -12030 | 27.1 | 27.2 | 27.2 |
|     4 |   1.2 | -12330 | -12066 | 29.1 | 18.1 | 18.1 |
|     4 |   2.1 | -12077 | -12191 | 34.1 | 10.1 | 10.1 |
|     4 |   3.1 | -12199 | -12213 | 17.1 | 33.1 | 33.1 |
|     4 |   4.1 | -12315 | -12127 | 16.1 |  5.1 |  5.1 |
|     4 |   5.1 | -12350 | -12148 | 38.1 | 36.2 | 36.2 |
|     4 |   8.1 | -12051 | -12184 | 25.2 | 10.1 | 10.1 |
|     4 |   8.2 | -12082 | -12173 | 12.5 | 12.6 | 12.6 |
|     4 |   8.3 | -12070 | -12201 | 12.8 |  2.1 |  2.1 |
|     4 |   9.1 | -12162 | -12086 | 42.1 | 11.3 | 11.3 |
|     4 |   9.2 | -12184 | -12140 | 11.4 | 11.3 | 11.3 |
|     4 |  10.1 | -12072 | -12180 | 25.2 |  2.1 |  2.1 |
|     4 |  11.1 | -12219 | -12084 | 43.1 | 42.3 | 42.3 |
|     4 |  11.2 | -12244 | -12130 | 42.3 | 14.3 | 14.3 |
|     4 |  11.3 | -12174 | -12130 |  9.2 | 11.4 | 11.4 |
|     4 |  11.4 | -12186 | -12148 |  9.2 | 11.3 | 11.3 |
|     4 |  11.5 | -12141 | -12161 | 23.1 | 11.6 | 11.6 |
|     4 |  11.6 | -12155 | -12169 | 11.5 | 23.1 | 23.1 |
|     4 |  12.1 | -12066 | -12060 | 39.1 | 14.2 | 14.2 |
|     4 |  12.2 | -12073 | -12126 | 15.1 | 25.1 | 25.1 |
|     4 |  12.3 | -12090 | -12155 | 12.5 | 25.1 | 25.1 |
|     4 |  12.4 | -12056 | -12162 | 25.1 |  8.1 |  8.1 |
|     4 |  12.5 | -12090 | -12167 |  8.2 | 12.3 | 12.3 |
|     4 |  12.6 | -12090 | -12182 | 34.1 |  8.2 |  8.2 |
|     4 |  12.7 | -12090 | -12199 | 34.1 |  2.1 |  2.1 |
|     4 |  12.8 | -12070 | -12211 |  8.3 |  2.1 |  2.1 |
|     4 |  13.1 | -12244 | -12000 | 27.1 | 43.1 | 43.1 |
|     4 |  14.1 | -12165 | -12000 | 24.1 | 28.1 | 28.1 |
|     4 |  14.2 | -12104 | -12066 | 37.3 | 39.1 | 39.1 |
|     4 |  14.3 | -12267 | -12148 | 11.2 | 41.1 | 41.1 |
|     4 |  15.1 | -12061 | -12128 | 12.2 | 25.1 | 25.1 |
|     4 |  16.1 | -12314 | -12164 |  4.1 |  5.1 |  5.1 |
|     4 |  16.2 | -12424 | -12146 | 22.1 | 36.1 | 36.1 |
|     4 |  17.1 | -12146 | -12211 | 32.1 | 11.6 | 11.6 |
|     4 |  18.1 | -12362 | -12043 | 31.1 |  1.2 |  1.2 |
|     4 |  19.1 | -12289 | -12214 | 33.1 | 16.1 | 16.1 |
|     4 |  21.1 | -12377 | -12081 | 31.1 | 18.1 | 18.1 |
|     4 |  22.1 | -12395 | -12134 | 38.1 | 16.2 | 16.2 |
|     4 |  23.1 | -12132 | -12158 | 11.5 | 11.6 | 11.6 |
|     4 |  23.2 | -12126 | -12116 | 42.2 | 42.1 | 42.1 |
|     4 |  24.1 | -12135 | -11999 | 28.1 | 14.1 | 14.1 |
|     4 |  25.1 | -12073 | -12158 | 12.3 | 12.4 | 12.4 |
|     4 |  25.2 | -12062 | -12185 | 10.1 |  8.1 |  8.1 |
|     4 |  26.1 | -12372 | -11999 | 18.1 | 31.1 | 31.1 |
|     4 |  27.1 | -12293 | -12017 |  1.1 | 27.2 | 27.2 |
|     4 |  27.2 | -12313 | -12002 | 27.1 |  1.1 |  1.1 |
|     4 |  28.1 | -12115 | -12000 | 37.2 | 24.1 | 24.1 |
|     4 |  29.1 | -12294 | -12066 |  1.2 |  1.1 |  1.1 |
|     4 |  30.1 | -12073 | -12232 | 12.8 |  8.3 |  8.3 |
|     4 |  31.1 | -12388 | -12047 | 18.1 | 21.1 | 21.1 |
|     4 |  32.1 | -12113 | -12211 | 12.7 | 17.1 | 17.1 |
|     4 |  33.1 | -12252 | -12213 | 19.1 | 41.1 | 41.1 |
|     4 |  34.1 | -12086 | -12191 |  2.1 | 12.7 | 12.7 |
|     4 |  35.1 | -12420 | -12213 | 44.1 | 36.2 | 36.2 |
|     4 |  44.1 | -12395 | -12213 | 35.1 | 36.2 | 36.2 |
|     4 |  36.1 | -12431 | -12102 | 16.2 | 22.1 | 22.1 |
|     4 |  36.2 | -12380 | -12167 |  5.1 | 22.1 | 22.1 |
|     4 |  37.1 | -12071 | -12010 | 37.2 | 28.1 | 28.1 |
|     4 |  37.2 | -12101 | -12004 | 28.1 | 37.1 | 37.1 |
|     4 |  37.3 | -12105 | -12049 | 14.2 | 40.1 | 40.1 |
|     4 |  38.1 | -12371 | -12132 | 22.1 |  5.1 |  5.1 |
|     4 |  39.1 | -12072 | -12070 | 12.1 | 14.2 | 14.2 |
|     4 |  40.1 | -12140 | -12047 | 37.3 | 42.1 | 42.1 |
|     4 |  41.1 | -12234 | -12165 | 42.3 | 14.3 | 14.3 |
|     4 |  42.1 | -12132 | -12083 |  9.1 | 14.2 | 14.2 |
|     4 |  42.2 | -12130 | -12126 | 23.2 | 23.1 | 23.1 |
|     4 |  42.3 | -12221 | -12134 | 11.2 | 41.1 | 41.1 |
|     4 |  43.1 | -12220 | -12048 | 11.1 | 13.1 | 13.1 |
|     5 |   1.1 |    295 |    418 | 29.1 | 29.2 | 29.2 |
|     5 |   1.2 |    334 |    387 | 29.2 | 14.4 | 14.4 |
|     5 |   1.3 |    257 |    383 | 29.1 | 41.1 | 41.1 |
|     5 |   2.1 |    233 |    288 | 34.1 | 25.3 | 25.3 |
|     5 |   3.1 |    399 |    261 | 46.1 | 32.1 | 32.1 |
|     5 |   4.1 |    384 |    388 |  5.1 | 14.3 | 14.3 |
|     5 |   5.1 |    378 |    399 | 14.3 |  4.1 |  4.1 |
|     5 |   5.2 |    375 |    329 | 38.3 | 22.1 | 22.1 |
|     5 |   6.1 |    573 |    303 | 23.2 | 11.8 | 11.8 |
|     5 |   8.1 |    215 |    297 | 39.2 | 25.2 | 25.2 |
|     5 |   8.2 |    245 |    275 | 25.3 | 10.1 | 10.1 |
|     5 |   9.1 |    565 |    447 | 11.3 | 11.2 | 11.2 |
|     5 |  10.1 |    227 |    278 | 25.3 | 25.2 | 25.2 |
|     5 |  11.1 |    435 |    474 | 24.1 | 40.1 | 40.1 |
|     5 |  11.2 |    551 |    487 |  9.1 | 11.3 | 11.3 |
|     5 |  11.3 |    571 |    429 |  9.1 | 26.1 | 26.1 |
|     5 |  11.4 |    499 |    426 | 27.3 | 42.2 | 42.2 |
|     5 |  11.5 |    480 |    408 | 27.3 | 27.2 | 27.2 |
|     5 |  11.6 |    570 |    359 | 23.3 | 11.7 | 11.7 |
|     5 |  11.7 |    583 |    353 | 23.3 | 11.8 | 11.8 |
|     5 |  11.8 |    588 |    339 | 11.7 | 23.3 | 23.3 |
|     5 |  12.1 |    217 |    417 | 39.1 |  1.3 |  1.3 |
|     5 |  12.2 |    227 |    359 | 15.1 |  1.3 |  1.3 |
|     5 |  12.3 |    245 |    313 | 14.5 | 34.1 | 34.1 |
|     5 |  13.1 |    329 |    473 | 14.1 | 40.1 | 40.1 |
|     5 |  14.1 |    285 |    472 | 28.1 | 13.1 | 13.1 |
|     5 |  14.2 |    357 |    409 | 14.3 | 14.4 | 14.4 |
|     5 |  14.3 |    366 |    397 |  5.1 | 14.2 | 14.2 |
|     5 |  14.4 |    343 |    397 |  1.2 | 29.2 | 29.2 |
|     5 |  14.5 |    258 |    326 | 41.2 | 12.3 | 12.3 |
|     5 |  45.1 |    449 |    369 | 27.2 | 26.3 | 26.3 |
|     5 |  15.1 |    219 |    334 | 25.1 | 12.2 | 12.2 |
|     5 |  16.1 |    402 |    347 |  5.2 | 22.1 | 22.1 |
|     5 |  17.1 |    306 |    262 | 19.1 | 33.1 | 33.1 |
|     5 |  18.1 |    519 |    342 | 38.2 | 36.2 | 36.2 |
|     5 |  19.1 |    275 |    265 |  8.2 | 17.1 | 17.1 |
|     5 |  19.2 |    231 |    237 | 30.1 |  8.2 |  8.2 |
|     5 |  21.1 |    314 |    336 | 36.1 | 36.6 | 36.6 |
|     5 |  46.1 |    393 |    290 | 22.1 |  3.1 |  3.1 |
|     5 |  22.1 |    394 |    309 | 46.1 |  5.2 |  5.2 |
|     5 |  47.1 |    338 |    368 |  1.2 | 29.2 | 29.2 |
|     5 |  23.1 |    484 |    480 | 42.1 | 11.1 | 11.1 |
|     5 |  23.2 |    557 |    312 |  6.1 | 11.8 | 11.8 |
|     5 |  23.3 |    572 |    357 | 11.6 | 11.7 | 11.7 |
|     5 |  24.1 |    419 |    468 | 11.1 | 40.1 | 40.1 |
|     5 |  25.1 |    226 |    310 |  8.1 | 12.3 | 12.3 |
|     5 |  25.2 |    221 |    287 | 39.2 | 10.1 | 10.1 |
|     5 |  25.3 |    237 |    277 |  8.2 | 10.1 | 10.1 |
|     5 |  26.1 |    541 |    412 | 42.2 | 11.3 | 11.3 |
|     5 |  26.2 |    513 |    390 | 38.1 | 27.3 | 27.3 |
|     5 |  26.3 |    429 |    394 | 26.5 | 26.4 | 26.4 |
|     5 |  26.4 |    456 |    412 | 27.1 | 26.5 | 26.5 |
|     5 |  26.5 |    456 |    407 | 26.4 | 27.1 | 27.1 |
|     5 |  27.1 |    459 |    412 | 26.4 | 26.5 | 26.5 |
|     5 |  27.2 |    465 |    395 | 26.5 | 27.1 | 27.1 |
|     5 |  27.3 |    487 |    406 | 11.5 | 38.1 | 38.1 |
|     5 |  28.1 |    266 |    474 | 14.1 | 37.1 | 37.1 |
|     5 |  29.1 |    291 |    384 | 41.1 | 36.3 | 36.3 |
|     5 |  29.2 |    332 |    387 |  1.2 | 14.4 | 14.4 |
|     5 |  30.1 |    224 |    257 | 10.1 | 19.2 | 19.2 |
|     5 |  31.1 |    470 |    337 | 38.2 | 45.1 | 45.1 |
|     5 |  32.1 |    447 |    265 |  3.1 | 36.4 | 36.4 |
|     5 |  33.1 |    342 |    262 | 17.1 | 36.5 | 36.5 |
|     5 |  34.1 |    241 |    294 |  2.1 | 25.3 | 25.3 |
|     5 |  35.1 |    543 |    265 |  6.1 | 23.2 | 23.2 |
|     5 |  36.1 |    298 |    358 | 36.3 | 41.1 | 41.1 |
|     5 |  36.2 |    510 |    317 | 18.1 | 38.2 | 38.2 |
|     5 |  36.3 |    287 |    360 | 41.1 | 36.1 | 36.1 |
|     5 |  36.4 |    425 |    313 | 22.1 | 46.1 | 46.1 |
|     5 |  36.5 |    357 |    308 | 38.3 |  5.2 |  5.2 |
|     5 |  36.6 |    311 |    306 | 21.1 | 17.1 | 17.1 |
|     5 |  37.1 |    231 |    472 | 28.1 | 14.1 | 14.1 |
|     5 |  38.1 |    492 |    384 | 26.2 | 27.3 | 27.3 |
|     5 |  38.2 |    497 |    350 | 18.1 | 31.1 | 31.1 |
|     5 |  38.3 |    355 |    332 |  5.2 | 36.5 | 36.5 |
|     5 |  39.1 |    224 |    416 | 12.1 |  1.3 |  1.3 |
|     5 |  39.2 |    211 |    288 |  8.1 | 25.2 | 25.2 |
|     5 |  40.1 |    392 |    473 | 24.1 | 11.1 | 11.1 |
|     5 |  41.1 |    288 |    364 | 36.3 | 36.1 | 36.1 |
|     5 |  41.2 |    274 |    330 | 14.5 | 36.3 | 36.3 |
|     5 |  42.1 |    487 |    472 | 23.1 | 11.4 | 11.4 |
|     5 |  42.2 |    523 |    420 | 26.1 | 11.4 | 11.4 |
|     5 |  43.1 |    396 |    427 |  5.1 |  4.1 |  4.1 |
+-------+-------+--------+--------+------+------+------+



Viewing all articles
Browse latest Browse all 88054

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>