如何通过匹配来自df1的与df2索引和列名匹配的列值来用df1的数据填充df2

时间:2019-10-15 18:34:25

标签: python dataframe

我有一个大型数据框df1,其中包含许多数据列,其中两个是datescolNum。我建立了第二个数据框df2,它跨越了colNum的日期范围和df1。我现在想用df2的第三列(许多其他数据列中的任何一个)填充df1,这些列满足{{1}中的datescolNum的条件}与df1的{​​{1}}和dateIndex匹配。

我尝试过colNum的各种化身,但都没有成功。

我可以遍历组合,但是df2非常大(270k,2k),因此永远需要从MERGE的其中一列中填充一个df1,让独自一人。

慢循环版本

df2

Input

Desired Output

1 个答案:

答案 0 :(得分:0)

将索引转换为列

df1.reset_index() #as per your statement date seems to be in index df2.rest_index() df2 = pd.merge(df2, df1, on = ['dateIndex', 'colNum'], how = 'left')#根据您的方便保持“左”或“内”

更新 相反,您可以将日期保留在索引中,而在pd.merge中,也可以选择通过索引加入