【问题标题】:Merging two DataFrames - Multi-index ValueError合并两个数据帧 - 多索引 ValueError
【发布时间】:2019-08-11 20:15:00
【问题描述】:

我想合并两个 DataFrame,如下所示:

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.

任何解决此问题的帮助都会很棒!

【问题讨论】:

  • 自己解决了问题:df2 = pd.merge(df, df1,left_index=True, right_index=True )
  • 您可以发表您的评论作为答案并接受它。

标签: python dataframe merge valueerror


【解决方案1】:

最简单的办法就是加入:

df2 = df.join(df1)

【讨论】:

    【解决方案2】:

    自己解决的问题:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-10
      • 2021-01-10
      相关资源
      最近更新 更多