Уникальные элементы Dataframe и xy местоположения в сетку элементов соседей по комнате (общее местоположение) - PullRequest
0 голосов
/ 12 июля 2020

У меня датафрейм выглядит как в этом примере, Если идентификатор уникален, но идентификаторы могут совместно использовать местоположение, например идентификаторы 1 и 2, совместно использующие 0,0 ячейку

 | id  |  x  |  y  |  
-----------------------
1|  1  |  0  |  0  | 
2|  2  |  0  |  0  | 
3|  3  |  1  |  2  |
4|  4  |  1  |  0  |
.
.

Я хочу получить фрейм данных соседей по комнате, например: Где индекс и столбцы соответствуют идентификатору, а значения равны 1, если общая ячейка и 0 в противном случае

 |  1  |  2  |  3  |  4  | ... 
---------------------------
1|  0  |  1  |  0  |  0  |
2|  1  |  0  |  0  |  0  |
3|  0  |  0  |  0  |  0  |
4|  0  |  0  |  0  |  0  |
.
.

Поскольку это большой фрейм данных, функцию необходимо векторизовать и не использовать методы apply, которые в основном по рядам

1 Ответ

0 голосов
/ 12 июля 2020
arr = df1.to_numpy()
arr = arr[1:]
mask = (arr[:, np.newaxis] == arr).prod(axis= 2)
df2 = pd.DataFrame(mask) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...