所以,我有两个我创建的pandas数据帧并从在线数据中清除,我试图根据它们的日期合并它们,这些都是按月计算的 . 但是,第一个数据集的月份是在该月的最后一天,第二个数据集是否基于该月的第一天 .
# data1
0 1987-01-01 63.752
1 1987-02-01 64.152
2 1987-03-01 64.488
3 1987-04-01 64.995
# data2
0 1987-01-31 1115.10
1 1987-02-30 1095.63
2 1987-03-30 1036.19
3 1987-04-30 1057.08
如果我每天都有一些缺失的数据,我通常会将它们合并为类似的东西
data3 = pd.merge(left=data1, left_on='Date', right=data2, right_on='Date')
但在这种情况下,它们永远不会匹配,即使它们都是相似的日期 .
我将如何“告诉”Pandas根据相隔几天的日期合并数据集,并将每个数据命名为“月 - 年”?我不知道从哪里开始,并会欣赏任何输入 .
2 回答
IIUC,您想在最近的日期合并吗?这就是merge_asof的用途
如果日期尚未转换为日期时间,请将其转换为如此
现在完成合并
如果您的日期列名为
date
,则可以按以下方式执行操作:哪会导致这样的事情:
然后,您可以合并月份和年份: