簡體   English   中英

如何合並兩個以列表為列的pandas.DataFrames?

[英]How to combine two pandas.DataFrames which have lists as columns?

我要問的問題與類似,但我需要有所不同。 我有兩個pandas.DataFrames ,我需要將它們合並。

這是第一個df_1

id       attr         fruit_list
---------------------------------------
0        42           [orange, apple]
1        57           [lemon]
2        86           [kiwi]
3        33           [pineapple, pear]
4        11           [apple, lemon]

這是第二個df_2

id     fruit_list
--------------------------------------
0      [fruit1,]
1      [fruit4, fruit2]
2      [fruit2, fruit8]
3      [fruit3,]
4      [fruit3,]

我需要合並這兩個DataFrames以獲取如下輸出:

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_list列:

(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))

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM