【发布时间】:2016-03-23 19:44:29
【问题描述】:
假设我有一个数据框 df1,其中包含“A”和“B”列。 A 是一列时间戳(例如 unixtime),而“B”是一列具有某些值的列。
假设我还有一个包含“C”和“D”列的数据框 df2。 C 也是一个 unixtime 列,而 D 是一个包含一些其他值的列。
我想模糊 merge 与 timestamp 上的连接的数据帧。但是,如果时间戳不匹配(它们很可能不匹配),我希望它合并到它可以在“C”中找到的“A”中时间戳之前最近的条目。
pd.merge 不支持这一点,我发现自己使用 to_dict() 从数据帧转换,并使用一些迭代来解决这个问题。 pandas 有办法解决这个问题吗?
【问题讨论】:
-
你尝试什么?可以加mcve吗?
-
现在可以使用
merge_asof轻松完成此操作,这是 pandas 0.19.0 及更高版本中的新功能。 pandas.pydata.org/pandas-docs/stable/generated/…