Создать сеть в networkx из np.array

У меня есть массив NumPy (матрица смежности) с элементами 32000 x 32000. Каждый из этих элементов равен 0 или числу] 0,1] (косинусное подобие) - вес ребра между узлами i и j. Каждый узел имеет 120 соседей, что означает, что в каждой строке numpy есть 120 ненулевых элементов.

B = [[0. 0. 0. ... 0.43 0. ...]...]

Когда я создаю сеть с:

network = nx.from_numpy_matrix(B, nx.DiGraph)

И выведите степень узла:

network.degree

Результат:

DegreeView({0: 126, 1: 125, 2: 212, 3: 158, 4: 135, 5: 306, 6: 288, 7: 178, 8: 232, 9: 158, 10: 176, 11: 132, 12: 149, 13: 137, 14: 368, 15: 264, 16: 143, 17: 158, 18: 148, 19: 175, 20: 182, 21: 183, 22: 169, 23: 137, 24: 258, 25: 312, 26: 124, 27: 191, 28: 186, 29: 120, 30: 317, 31: 125, 32: 137, 33: 410, 34: 122, 35: 206, 36: 327, 37: 137, 38: 177, 39: 201, 40: 299, 41: 136, 42: 139, 43: 411, 44: 138, 45: 134, 46: 179, 47: 125, 48: 179, 49: 126, 50: 159, 51: 122, 52: 199, 53: 159, 54: 169, 55: 140, 56: 130, 57: 125, 58: 178, 59: 163, 60: 143, 61: 140, 62: 119, 63: 217, 64: 301, 65: 157, 66: 158, 67: 165, 68: 238, 69: 146, 70: 133, 71: 157, 72: 119, 73: 132, 74: 153, 75: 121, 76: 152, 77: 156, 78: 120, 79: 142, 80: 134, 81: 134, 82: 157, 83: 142, 84: 145, 85: 120, 86: 471, 87: 124, 88: 159, 89: 120, 90: 141, 91: 174, 92: 140, 93: 119, 94: 178, 95: 122, 96: 123, 97: 264, 98: 144, 99: 247, 100: 134, 101: 129, 102: 124, 103: 269, 104: 193...})

Почему не ВСЕ мои узлы имеют степень 120?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
16
1

Ответы 1

Похоже, у вас есть ориентированный граф, поэтому в этом случае «по степени» и «по степени» могут быть разными. Степень выхода узла i будет числом ребер, выходящих из узла i, а степень узла i - количеством ребер на узле i.

Когда вы говорите, что каждый узел имеет степень 120, возможно ли, что вы имеете в виду, что степень входа или выхода должна быть 120? В networkx степень - это сумма степени входа и выхода для ориентированного графа. Вы можете попробовать в степени или степень и посмотреть, хотите ли вы этого.

Другие вопросы по теме