【发布时间】:2020-06-19 20:27:23
【问题描述】:
我有以下两个数据框:
id websites
-- ---
0 1 [cnn.com, bbc.com]
1 2 [ebay.com, facebook.com]
________________
id websites
-- ---
0 2 [google.com, facebook.com]
1 3 [amazon.com, youtube.com]
我想通过为匹配的行聚合唯一的 websites 来将它们外连接到 id 列。输出应该如下:
id websites
-- ---
0 1 [cnn.com, bbc.com]
1 2 [ebay.com, facebook.com, google.com]
2 3 [amazon.com, youtube.com]
到目前为止,我已经尝试了以下方法:
import pandas as pd
df_a = pd.DataFrame({'id':[1,2],'websites':[['cnn.com','bbc.com'],['ebay.com','facebook.com']]})
df_b = pd.DataFrame({'id':[2,3],'websites':[['google.com','facebook.com'],['amazon.com','youtube.com']]})
df_a.merge(df_b, on='id', how='outer')
这给了我以下输出:
id websites_x websites_y
-- --- ---
0 1 [cnn.com, bbc.com] NaN
1 2 [ebay.com, facebook.com] [google.com, facebook.com]
2 3 NaN [amazon.com, youtube.com]
【问题讨论】:
标签: python pandas list dataframe outer-join