我的数据帧1如下所示:
我的第二个数据框如下所示:
因此,第一个数据框使用id和date作为多索引,而第二个数据框使用date和port作为多索引。
我首先通过两个数据帧的reset_index合并,然后通过pd.merge(df1,df2,how='outer',on=['date','port'])
来合并两个数据帧,以实现以下结构:
最后,我只是使用id和date设置了这个最终结构的索引并按id排序
我的问题:有没有一种方法可以合并两个数据框而无需重置其多索引,以实现我想要的id和date仍然是多索引的结构?
答案 0 :(得分:0)
您可以使用此:
new_df = df1.merge(
df2, how="outer", left_index=True, right_index=True
)
但是这将为您提供包含端口的两列,因为df1
以port
作为列,而df2
以其索引。为了解决这个问题,您可以使用以下命令删除列端口:
new_df.drop(['port'], axis=1, inplace=True)