熊猫合并具有不同数量的多索引的两个数据框

时间:2018-11-22 15:09:12

标签: python pandas dataframe

欢迎,我有一个简单的问题,尚未找到解决方案。

我有两个数据帧df1df2

  • df1包含几列和一个多索引,year-month-week
  • df2包含多索引year-week,在df中只有一列。

我想创建一个inner joindf1的{​​{1}},并加入df2'year'


我尝试执行以下操作:

'week'

哪个仅在月份(或年份)加入,有没有办法扩展它以便合并实际上是正确的?

谢谢!

df1

df2

1 个答案:

答案 0 :(得分:0)

最终,我解决了以下问题:删除多索引,并在两列上执行良好的旧内部联接,然后最后重新创建多索引。 以下是这些代码段:

df = df.reset_index()

df2 = df2.reset_index()

df ['year'] = df ['year']。apply(int)

df2 ['year'] = df2 ['year']。apply(int)

df ['week'] = df ['week']。apply(int)

df2 ['week'] = df2 ['week']。apply(int)

result = pd.merge(df,df2,how ='left',left_on = ['year','week'],right_on = ['year','week'])

result = result.set_index([''year','month','week','day'])