【问题标题】:Create Adjacency Matrix in Python for large Dataset在 Python 中为大型数据集创建邻接矩阵
【发布时间】:2016-06-25 15:33:27
【问题描述】:

我在用 Python 的邻接矩阵表示网站用户行为时遇到问题。我想分析 43 个不同网站之间的用户交互,看看哪些网站是一起使用的。

给定的数据集大约有 13.000.000 行,结构如下:

 user website
 id1  web1
 id1  web2
 id1  web2
 id2  web1
 id2  web2
 id3  web3
 id3  web2

我想在邻接矩阵中可视化网站之间的交互,如下所示:

     web1 web2 web3
 web1  2    2    0
 web2  2    4    1
 web3  0    1    1

我很高兴得到任何建议

【问题讨论】:

    标签: python numpy matrix adjacency-matrix bigdata


    【解决方案1】:
    import scipy.sparse
    
    data = """
     id1  web1
     id1  web2
     id1  web2
     id2  web1
     id2  web2
     id3  web3
     id3  web2
    """
    
    data = np.array(data.split()).reshape(-1, 2)
    _, i = np.unique(data[:, 0], return_inverse=True)
    _, j = np.unique(data[:, 1], return_inverse=True)
    
    incidence = scipy.sparse.coo_matrix((np.ones_like(i), (i,j)))
    adjecency = incidence.T * incidence
    
    print(adjecency.todense())
    

    【讨论】:

      猜你喜欢
      • 2015-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多