【发布时间】:2017-08-23 14:08:46
【问题描述】:
我有一个 pandas 数据框,它具有一个人的唯一身份和姓氏。我想在所有姓氏相同的人之间划清界限。如何有效地做到这一点?
样本数据集:
Identity,LastName
1,Beckham
2,Singh
3,Bagari
4,Shukla
5,Sharma
6,Singh
7,Beckham
8,Beckham
9,Singh
输出: (1,7) , (1,8) , (7,8) , (2,6) , (2,9) , (6,9)
我想建立一个网络,其中身份 (1,7) , (1,8) , (7,8) , (2,6) , (2,9) , (6,9 )
我可以遍历所有身份,然后创建边,但是对于 5,000,000 条奇数记录需要很长时间?有没有更好的解决方案?
【问题讨论】:
-
您的预期结果是什么?列表、数据框、元组?
-
预期输出可以是一个元组或连接在一起的身份列表。对于上面的示例,它将类似于: (1,7) , (2,6)
-
你可以有两个以上姓氏相同的人吗?你想要两个人的所有组合吗?
-
是的,我们可以有超过 2 个姓氏相同的人,我想要两者的所有可能组合。我在想我可以创建一个字典,其中键作为姓氏,值作为身份,但是我将如何从那里创建一个元组?
-
您将需要构建一个更健壮的测试用例。
标签: python pandas numpy data-structures pyspark