Python 如何组合以列表为列的两个pandas.DataFrames?
我问了一些类似的问题,但我需要一些不同的东西。我有两个Python 如何组合以列表为列的两个pandas.DataFrames?,python,pandas,dataframe,Python,Pandas,Dataframe,我问了一些类似的问题,但我需要一些不同的东西。我有两个熊猫。数据帧,我需要合并它们 这是第一个dfu 1: id attr fruit_list --------------------------------------- 0 42 [orange, apple] 1 57 [lemon] 2 86 [kiwi] 3 33 [pin
熊猫。数据帧
,我需要合并它们
这是第一个dfu 1
:
id attr fruit_list
---------------------------------------
0 42 [orange, apple]
1 57 [lemon]
2 86 [kiwi]
3 33 [pineapple, pear]
4 11 [apple, lemon]
这是第二个dfu 2
:
id fruit_list
--------------------------------------
0 [fruit1,]
1 [fruit4, fruit2]
2 [fruit2, fruit8]
3 [fruit3,]
4 [fruit3,]
我需要合并这两个数据帧
,以获得如下输出:
id attr fruit_list
---------------------------------------------
0 42 [orange, apple, fruit1]
1 57 [lemon, fruit4, fruit2]
2 86 [kiwi, fruit2, fruit8]
3 33 [pineapple, pear, fruit3]
4 11 [apple, lemon, fruit3]
请问我怎样才能做到这一点?我已经查看了,但找不到方法。如果id按顺序匹配,可以添加两列:
df1.fruit_list = df1.fruit_list + df2.fruit_list
df1
或者,如果需要在id
列上进行合并,则可以进行合并,然后添加fruit\u列表
列:
(df1.merge(df2, on = "id")
.assign(fruit_list = lambda x: x.fruit_list_x + x.fruit_list_y)
.drop(["fruit_list_x", "fruit_list_y"], 1))