我正在使用两个具有不同日期的数据集.我想合并它们,但是因为日期不完全匹配,所以我相信merge_asof()是最好的选择.
但是,merge_asof()有两件事情并不理想:
>数字重复.
>数字丢失.
以下代码是一个示例:
df_a = pd.DataFrame({'date':pd.to_datetime(['1/15/2016','3/15/2016','5/15/2016','7/15/2016'])})
df_b = pd.DataFrame({'date':pd.to_datetime(['1/1/2016','4/1/2016','5/1/2016','6/1/2016','7/1/2016']), 'num':[1,10,100,1000,10000]})
df_x = pd.merge_asof(df_a, df_b, on = 'date')
这产生:
date num
0 2016-01-15 1
1 2016-03-15 1
2 2016-05-15 100
3 2016-07-15 10000
但是相反,我想要:
date num
0 2016-01-15 1
1 2016-03-15 0
2 2016-05-15 110
3 2016-07-15 11000
…在其中添加了介于日期之间的多行集合,而不仅仅是选择了最接近的行.
merge_asof()是否可能实现此功能,还是应该寻找其他解决方案?