为了账号安全,请及时绑定邮箱和手机立即绑定

共享公共元素的链接列表

共享公共元素的链接列表

摇曳的蔷薇 2023-06-20 14:30:42
我有一个包含成员的组列表,而不是合并共享成员的组我需要保留分组并根据哪些组具有共同成员创建一组新的边,并根据组的属性有条件地这样做源数据如下所示:+----------+------------+-----------+| 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(",")]

这可能无法处理循环分组的情况。


查看完整回答
反对 回复 2023-06-20
  • 1 回答
  • 0 关注
  • 134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号