从博客创建邻接列表 Post

Adjacency List Creation from a Blog Post

我需要制作一个邻接表来显示主题线程中两个用户之间的关系。我的数据集包含两列:用户 ID 和主题 ID。主题 ID 就像一个博客 post,因此许多用户可以 post 在上面。数据集如下所示:

User ID Topics ID
1 55
2 55
1 55
6 55

我需要从中创建一个邻接列表,所以我只有用户及其关系如下:

User User
1 2
1 6
2 6

关于如何在 excel 或 python 中执行此操作的任何想法?

我们会在朋友 collections.defaultdictitertools.combinations:

的帮助下度过难关
from collections import defaultdict
from itertools import combinations

by_post_id = defaultdict(set)

data = [
    (1, 55),
    (2, 55),
    (1, 55),
    (6, 55),
    (1, 42),
    (11, 42),
    (8, 42),
]

# Group up people by post ID
for user_id, post_id in data:
    by_post_id[post_id].add(user_id)

# (`by_post_id` will look like {55: {1, 2, 6}, 42: {8, 1, 11}})

# Walk over each post...
for post_id, user_ids in by_post_id.items():
    # ... and generate all pairs of user IDs.
    for combo in combinations(user_ids, 2):
        print(post_id, combo)

这输出

55 (1, 2)
55 (1, 6)
55 (2, 6)
42 (8, 1)
42 (8, 11)
42 (1, 11)

当然,如果您不关心这对 post_id,请忽略它。