Назначение идентификатора группы компонентам в networkx ⇐ Python
Назначение идентификатора группы компонентам в networkx
У меня есть граф, состоящий из узлов, в которых хранятся «parentid» отелей и «phone_search». Моя основная цель при построении этого графика заключалась в том, чтобы соединить все «родительские идентификаторы», которые имеют одинаковый «phone_search» (рекурсивно), например, если родительский идентификатор A имеет «phone_search» 1,2; У Б — 2,3; С имеет 3,4; D имеет 5,6, а E 6,7, тогда A, B, C будут сгруппированы в 1 кластер, а D и E — в другой кластер.
Это мой код для построения сети:
from pymongo import MongoClient # Чтобы импортировать клиент для MongoDB импортировать networkx как nx импортный маринованный огурец G = nx.График() #Определение переменных отели = [] телефоны = [] всеРезультат = [] окончательныйРезультат = [] #dictNx = {} # Инициализация клиента MongoDB клиент = МонгоКлиент() # Связь БД = клиент.отель коллекция = db.hotelData для сообщения в коллекции.find(): Hotels.append(сообщение) для отеля в отелях: пытаться: телефоны = отель["phone_search"].split("|") для телефона в телефонах: если телефон == '': проходить еще: G.add_edge(отель["родительский"],телефон) кроме: телефоны = отель["phone_search"] если телефон == '': проходить еще: G.add_edge(отель["родительский"],телефон) # nx.write_gml(G,"export.gml") Pickle.dump(G, open('/home/justdial/newHotel/graph.txt', 'w')) Что я хочу сделать: я хочу назначить идентификатор группы каждому компоненту и сохранить его в словаре, чтобы я мог каждый раз легко получать к ним доступ непосредственно из словаря.
Пример: Gid 1 будет содержать некоторые родительские идентификаторы и телефонные_поиски, находящиеся в одном кластере. Аналогично Gid 2 будет содержать узлы из другого кластера и так далее...
У меня есть еще одно сомнение. Доступ к узлам из словаря с использованием идентификатора группы быстрее, чем выполнение bfs на графе networkx?
У меня есть граф, состоящий из узлов, в которых хранятся «parentid» отелей и «phone_search». Моя основная цель при построении этого графика заключалась в том, чтобы соединить все «родительские идентификаторы», которые имеют одинаковый «phone_search» (рекурсивно), например, если родительский идентификатор A имеет «phone_search» 1,2; У Б — 2,3; С имеет 3,4; D имеет 5,6, а E 6,7, тогда A, B, C будут сгруппированы в 1 кластер, а D и E — в другой кластер.
Это мой код для построения сети:
from pymongo import MongoClient # Чтобы импортировать клиент для MongoDB импортировать networkx как nx импортный маринованный огурец G = nx.График() #Определение переменных отели = [] телефоны = [] всеРезультат = [] окончательныйРезультат = [] #dictNx = {} # Инициализация клиента MongoDB клиент = МонгоКлиент() # Связь БД = клиент.отель коллекция = db.hotelData для сообщения в коллекции.find(): Hotels.append(сообщение) для отеля в отелях: пытаться: телефоны = отель["phone_search"].split("|") для телефона в телефонах: если телефон == '': проходить еще: G.add_edge(отель["родительский"],телефон) кроме: телефоны = отель["phone_search"] если телефон == '': проходить еще: G.add_edge(отель["родительский"],телефон) # nx.write_gml(G,"export.gml") Pickle.dump(G, open('/home/justdial/newHotel/graph.txt', 'w')) Что я хочу сделать: я хочу назначить идентификатор группы каждому компоненту и сохранить его в словаре, чтобы я мог каждый раз легко получать к ним доступ непосредственно из словаря.
Пример: Gid 1 будет содержать некоторые родительские идентификаторы и телефонные_поиски, находящиеся в одном кластере. Аналогично Gid 2 будет содержать узлы из другого кластера и так далее...
У меня есть еще одно сомнение. Доступ к узлам из словаря с использованием идентификатора группы быстрее, чем выполнение bfs на графе networkx?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение