我有以下格式的数据:
eventid mnbr
20 1
26 1
12 2
14 2
15 3
14 3
10 3
eventid是成员参加的事件数据表示为一个面板,以便您可以看到每个成员参加多个事件,多个成员可以参加同一个事件。我的目标是创建邻接矩阵:
^{pr2}$当两个成员参加同一个活动时,有一个1。我成功地将csv文件的列读入两个独立的1D numpy数组。不过,接下来我不确定如何继续。如何最好地使用列2创建矩阵,以及随后如何使用列1来填充值?我知道我没有发布任何代码,也不希望在这方面有任何解决方案,但如果能有一个如何以有效方式解决问题的想法,我将不胜感激。我有大约300万个观察结果,所以创建太多的外部变量会有问题。提前谢谢。我收到一个通知,我的问题可能是重复的,但是我的问题是解析数据而不是创建邻接矩阵。在
这里有一个解决方案。它不直接给你所要求的邻接矩阵,但给你你自己创建它所需要的。在
执行此代码将得到以下结果:
^{pr2}$这是一个字典,其中每个
mnbr
都有一组相关的邻接mnbrs
。这实际上是一个邻接列表,它是一个压缩的邻接矩阵。您可以扩展它并使用字典键和值作为行和列索引来构建您所请求的矩阵。在希望能有所帮助。 亚瑟。在
编辑:我提供了一种使用邻接列表的方法,让您实现自己的邻接矩阵构建。但您应该考虑真正使用这种数据结构,以防数据稀疏。见http://en.wikipedia.org/wiki/Adjacency_list
编辑2:添加一个代码来将adjacencyList转换为一个小的智能adjacencyMatrix
^{3}$此代码给出以下结果:
相关问题 更多 >
编程相关推荐