给定这两个数据样本,我想通过一列进行连接,该列在左侧的连接数据框中,值是多个元素中一个元素的列表,在另一个数据框中,是具有附加信息的相同列(主键),而没有列表格式。
在这个例子中
df1 = pd.DataFrame({'ID':[[1111],[2222,3333],[4444,5555],[6666]],'NAME':['foo','bar','zoo','bahh']})
df2 = pd.DataFrame({'ID':[[1111],[2222],[3333],[4444],[5555],[7777]],'ALT_NAME':['foo_alt','bar_alt','zoo_alt','baoo','razz','foo fi']})
print(df1)
print(df2)
输出[1]:
ID NAME
0 [1111] foo
1 [2222, 3333] bar
2 [4444, 5555] zoo
3 [6666] bahh
输出[2]:
ALT_NAME ID
0 foo_alt [1111]
1 bar_alt [2222]
2 wis_alt [3333]
3 baoo [4444]
4 razz [5555]
5 foo fi [7777]
结果应为:
ID NAME ALT NAME
0 [1111] foo [foo_alt]
1 [2222, 3333] bar [bar_alt , wis_alt]
2 [4444, 5555] zoo [baoo, razz]
3 [6666] bahh nan
拟议解决方案:
我可以通过将ID分成几列并进行几个左联接来解决它,但是我希望找到更在线或更智能的解决方案。因此,这个问题的本质更多是面向python学习的。
相关分类