我需要您的以下代码帮助。我的df1带有要与df2合并的汇率和日期列。df1缺少汇率值(在周末和节假日)。对于周末的汇率值,我想使用最后一个可用的值(例如,如果2019-05-01的汇率是nan,我希望它使用2019-04-01的汇率值)。我尝试了两个失败的选择:
这都是两个数据框(如果复制并粘贴它,则会出现无法识别时间戳记名称的错误。由于我总是将日期值作为TimeStamp对象,因此我无法获取将其粘贴到此处的日期值)。希望您能帮我解决这两个问题,因为我相信这将是有用的。
df1={'Fecha': {0: Timestamp('2019-01-01 00:00:00'),
1: Timestamp('2019-01-02 00:00:00'),
2: Timestamp('2019-01-03 00:00:00'),
3: Timestamp('2019-01-04 00:00:00'),
4: Timestamp('2019-01-05 00:00:00'),
5: Timestamp('2019-01-06 00:00:00'),
6: Timestamp('2019-01-07 00:00:00'),
7: Timestamp('2019-01-08 00:00:00'),
8: Timestamp('2019-01-09 00:00:00'),
9: Timestamp('2019-01-10 00:00:00')},
'ER': {0: nan,
1: 19.1098,
2: 19.2978,
3: 19.2169,
4: nan,
5: nan,
6: 19.076,
7: 19.1627,
8: nan,
9: 19.7792}}
df2={'Fecha': {0: Timestamp('2019-01-01 00:00:00'),
1: Timestamp('2019-01-02 00:00:00'),
2: Timestamp('2019-01-03 00:00:00'),
3: Timestamp('2019-01-04 00:00:00'),
4: Timestamp('2019-01-05 00:00:00'),
5: Timestamp('2019-01-06 00:00:00'),
6: Timestamp('2019-01-07 00:00:00'),
7: Timestamp('2019-01-08 00:00:00'),
8: Timestamp('2019-01-09 00:00:00'),
9: Timestamp('2019-01-10 00:00:00')},
'letters': {0: "a",
1: "b",
2: "c",
3: "d",
4: "e",
5: "f",
6: "g",
7: "h",
8: "i",
9: "j"}}
非常感谢!
我找到了一种使用pd.merge_asof()函数实现此目的的方法。如果找不到要合并的键值,则会为您提供上一个键值。但是,排序至关重要。
它的工作方式与excel查找一样(不VLOOK UP,而是LOOKUP-不带v或h-)。
谢谢大家!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句