我正在尝试合并两个数据框:
this are tables I am trying to merge
and this is the result I want to achieve
因此,我希望合并的值不要在同一行。
当我尝试像这样合并时:
pd.merge(a,b,how='inner', on=['date_install','device_os'])
它将值合并为一个原始值。
请建议如何解决
答案 0 :(得分:0)
您可以使用append():
df1.append(df2, ignore_index = True)
或使用concat():
pd.concat([df,df1], ignore_index = True)
或使用merge():
df.merge(df1, how = 'outer')
答案 1 :(得分:0)
引用来自:https://stackoverflow.com/a/24391268/3748167(可能重复)
这里唯一的区别是先连接两个数据帧,然后再应用其余的逻辑。
def sjoin(x):
return ';'.join(x[x.notnull()].astype(str))
pd.concat([a,b]).groupby(level=0, axis=1).apply(lambda x: x.apply(sjoin, axis=1))