繁体   English   中英

在Python中为大型数据集创建邻接矩阵

[英]Create Adjacency Matrix in Python for large Dataset

我在用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

我很高兴有任何建议

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())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM