我有一个包含两列的数据框:name 和 action_id。名称通常有多个 action_id,而 action_id 也与多个名称相关联,如下所示:
name action_id
Bob 1
Bob 2
Bob 3
Tom 2
Tom 1
Bill 1
Bill 3
这是我的问题:我正在尝试根据名称索引 action_ids 之间的重叠。因此,如果一个名称与两个 action_id 关联,而另一个名称与相同的两个 action_id 关联,则这两个 action_id 之间的重叠为 1。对于上面的数据,此函数将在 action_ids 1 和 2 之间返回 1,1介于 1 和 3 之间,其他潜在重叠为 0。我正在描绘一个包含所有潜在 action_id 重叠的数据表以及这些重叠的实例,如下所示:
1 2 3
1 - 0 0
2 1 - 0
3 1 0 -
我试图通过将数据框转换为索引与用户关联的所有 action_id 的数据表来解决此问题,但是在将该数据表转换为仅 action_id 表时遇到问题,如上所示。
我想过循环遍历所有数据,但我正在处理数百万行——for/if 循环在这里不够省时,所以我试图找到一个基于向量的解决方案。