熊猫在列表值列上左连接

给定这两个数据样本,我想通过一列进行连接,该列在左侧的连接数据框中,值是多个元素中一个元素的列表,在另一个数据框中,是具有附加信息的相同列(主键),而没有列表格式。


在这个例子中


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学习的。


呼唤远方
浏览 123回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python