合并两个DataFrames-多索引ValueError

时间:2019-03-21 01:37:47

标签: python dataframe merge valueerror

我想合并两个看起来像下面的数据框:

df
                a        b         c           d        e        f
date                                                                  
2006-01-01  0.004503  0.006280  0.001777 -0.010202 -0.067004  0.062179
2006-01-02  0.004496  0.039818  0.035322  0.033956  0.017256 -0.024769
2006-01-03  0.004496  0.019632  0.015137 -0.008447 -0.061254  0.025879

df1

x              g        h         i         j          k         l
date                                                                  
2006-01-01  0.000001  0.000001  0.000001 -0.000001 -0.000001  0.000001
2006-01-02  0.000001  0.000001  0.000001  0.000001  0.000001 -0.000001
2006-01-03  0.000001  0.000001  0.000001 -0.000001 -0.000001  0.000001

我可以尝试合并这样做:

dflist = [df, df1]
df2 = reduce(lambda  left,right: pd.merge(left,right,on=['date'],
                                            how='outer'), dflist)

但是,它返回以下错误:

ValueError: The column label 'date' is not unique.
For a multi-index, the label must be a tuple with elements corresponding to each level.

解决这个问题的任何帮助都很棒!

2 个答案:

答案 0 :(得分:1)

最简单的解决方案是加入:

df2 = df.join(df1)

答案 1 :(得分:0)

本人已解决的问题:

df2 = pd.merge(df, df1,left_index=True, right_index=True )