【问题标题】:Create network in networkx from np.array从 np.array 在 networkx 中创建网络
【发布时间】:2021-07-02 14:30:19
【问题描述】:

我有一个包含 32.000 x 32.000 个元素的 NumPy 数组(邻接矩阵)。这些元素中的每一个都是 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...})

为什么我的节点的度数不是 ALL 120?

【问题讨论】:

    标签: python networkx


    【解决方案1】:

    看起来您有一个有向图,因此在这种情况下,“入度”和“出度”可能不同。节点 i 的出度是离开节点 i 的边数,节点 i 的度数是到节点 i 上的边数。

    当您说每个节​​点的度数为 120 时,您的意思是说进或出度数应该是 120 吗?在 networkx 中,degree 是有向图的进出度之和。你可以试试in degreeout degree 看看是不是你想要的。

    【讨论】:

      猜你喜欢
      • 2016-01-09
      • 1970-01-01
      • 2020-04-15
      • 1970-01-01
      • 1970-01-01
      • 2018-04-22
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多