使用pandas合并具有不同行数的2个数据帧

时间:2015-09-05 17:54:36

标签: python pandas merge rows

我是这个和python的新手,所以原谅问题的基本性。

我正在尝试合并3个不同的数据帧,每个数据帧都有不同的行数,我使用了这些命令

x = pd.merge(activated_at_df, spend_df)
x
all_dfs = pd.merge(x, df_rep)
all_dfs

例如activated_at_dfspend_df具有不同的行数。 activated_at_df有150k行,spend_df有100k行,所以我希望显示所有150k行,并且列中没有信息(50k行不在{ {1}})空白。

他们都有唯一标识符spend_df

所以我试过

id

但那也没有用

如果有人能提供帮助,我将非常感激。谢谢!

2 个答案:

答案 0 :(得分:1)

你需要这样做:

x = pd.merge(activated_at_df, spend_df, how='outer', on='id')

注意how='outer',它执行完全外连接。有关详情,请参阅the documentation

答案 1 :(得分:0)

这个问题可以从一个小例子中受益。听起来你可以使用.concat():

all_dfs = pd.concat([activated_at_df, spend_df], axis=1)