2015-09-05 48 views
2

我是这个和Python的总新手,所以原谅问题的基本性。合并2个数据帧使用熊猫thah有不同的行数

试图合并3个不同的dataframes各自具有不同数目的行和使用这些命令

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

因此,例如,在DF激活和spend_df具有不同的行数。 Sor activated_at_df具有150k行,而spend_df具有100k行,所以我希望所有150k行都显示出来,并且没有信息的列(不在get_df中的50k行)为空。

他们确实都具有唯一的标识符,ID

所以,我想

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

但也没有工作

会很感激,如果有人可以帮助。谢谢!!!

回答

1

你需要做的:

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

注意how='outer',它不完全外连接。更多内容请见the documentation

+0

谢谢!!!! :) – brazilianhippie

0

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

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