我有两个 pandas 数据框,两个数据框都带有日期时间条目的索引。这df1
具有非唯一的时间索引,而df2
有独特的。我想添加一栏df2.a
to df1
通过以下方式:对于中的每一行df1
带时间戳ts
, df1.a
应包含最新值df2.a
其时间戳小于ts
.
例如,假设df2
每分钟采样一次,有带时间戳的行08:00:15
, 08:00:47
, 08:02:35
in df1
。在这种情况下,我想要来自的值df2.a[08:00:00]
用于前两行,并且df2.a[08:02:00]
对于第三个。我怎样才能做到这一点?
你正在描述一个asof 加入 https://stackoverflow.com/questions/12322289/kdb-like-asof-join-for-timeseries-data-in-pandas,这只是在 pandas 0.19 中发布 http://pandas.pydata.org/pandas-docs/version/0.19.0/whatsnew.html#whatsnew-0190-enhancements-asof-merge.
pd.merge(df1, df2, left_on='ts', right_on='a')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)