我有像键,值(1,2),(3,4),(5,6) ,(7,8),(9,10),(2,11),(4,12),(6,13),(8,14),(14,19)
这样的数字
我的输入是(1,2),(3,4),(5,6) ,(7,8),(9,10),(2,11),(4,12),(6,13),(8,14)
在这里我需要创建关系 1 --> 2 并2--> 11
我的最终输出是(1,11)
..即,如果您认为第一个元组键是 1 和 2 值,另一个给定元组 2 是键,11 是值.即父子和孙子关系我希望我的输出就像(parent,grand child)
my final output should be: (1,11),(3,12),(5,13),(7,19),(9,10)
假设我有一个如下所示的数据帧:
key value
1 2
3 4
5 6
7 8
9 10
2 11
4 12
6 13
8 14
14 19
19 23
13 17
我的例外输出是新的 DF:
key value
1 11
3 12
5 17
7 19
9 10
如何在 Python/pyspark 中实现?
未测试,但这样的东西应该可以解决问题:
s = [(1,2),(3,4),(5,6),(7,8),(9,10),(2,11),(4,12),(6,13),(8,14)]
for parent, child in s:
g_child = [x[1] for x in s if x[0] == child]
if g_child:
print((parent, g_child[0]))
else:
print((parent, child))
break
输出:
(1, 11)
(3, 12)
(5, 13)
(7, 14)
(9, 10)