我有一个包含成员的组列表,而不是合并共享成员的组我需要保留分组并根据哪些组具有共同成员创建一组新的边,并根据组的属性有条件地这样做源数据如下所示:+----------+------------+-----------+| Group ID | Group Type | Member ID |+----------+------------+-----------+| A | Type 1 | 1 || A | Type 1 | 2 || B | Type 1 | 2 || B | Type 1 | 3 || C | Type 1 | 3 || C | Type 1 | 4 || D | Type 2 | 4 || D | Type 2 | 5 |+----------+------------+-----------+期望的输出是这样的:+----------+-----------------+| Group ID | Linked Group ID |+----------+-----------------+| A | B || B | C |+----------+-----------------+A 链接到 B 因为它共享 2 B 链接到 C 因为它共享 3 C 不链接到 D,它有一个共同的成员但属于不同类型共享成员的数量对我来说并不重要,一个共同的成员意味着他们是链接的输出被用作图的边,所以如果输出是符合规则的图,那很好源数据集很大(数亿行),因此性能是一个考虑因素这提出了一个类似的问题,但是我是 Python 的新手,无法弄清楚如何将源数据获取到可以使用答案的地步,或者在组类型匹配的附加要求中工作
1 回答

慕姐4208626
TA贡献1852条经验 获得超7个赞
尝试这样的事情-
df1=df.groupby(['Group Type','Member ID'])['Group ID'].apply(','.join).reset_index() df2=df1[df1['Group ID'].str.contains(",")]
这可能无法处理循环分组的情况。
添加回答
举报
0/150
提交
取消