如何在Python中从Facebook创建好友关系的邻接矩阵

0 投票
2 回答
3066 浏览
提问于 2025-04-17 08:36

我正在做一个关于Facebook网络的社交网络分析项目。我需要获取我所有的朋友,以及我的朋友之间谁是互相朋友,也就是我网络中的互相关系。我已经完成了这部分,得到了我所有朋友的ID和他们之间的关系。接下来,我需要形成一个邻接矩阵,这个矩阵可以显示我的两个朋友是否是朋友。举个例子:

  A  B  C

A 0  1  1

B 1  0  0

C 1  0  0

比如A和B是朋友,A和C是朋友,但B和C不是朋友。这个关系在矩阵中应该是这样的:

因为我已经在Python中有了朋友的ID和他们之间的关系,所以我也想在Python中制作这个矩阵。如果你有任何想法或者基本的算法,告诉我怎么把1和0填进去,我会很感激。

2 个回答

0

我觉得这个结构用来实现会更好。比如,你可以看看NetworkX这个工具。

不过,如果你真的需要用到矩阵,可以简单地把矩阵看作是一个列表的列表,像这样:

m = [[0, 1, 1],
     [1, 0, 0],
     [1, 0, 0],]

但是如果你打算对矩阵进行一些操作,建议你看看numpy这个库。

1

我解决了这个问题,其实只需要用两个循环来遍历列表,检查用户的ID是否在邻接列表中。如果在,就把那个位置标记为1;如果不在,就标记为0。

撰写回答