为了账号安全,请及时绑定邮箱和手机立即绑定

如何将列添加到具有不匹配时间的现有数据帧中?

如何将列添加到具有不匹配时间的现有数据帧中?

至尊宝的传说 2022-08-25 15:48:54
在现有的数据帧中;2019-12-02 | 1.000000 2019-12-04 | 1.0201002019-12-05 | 1.0303012019-12-06 | 1.0406042019-12-09 | 1.0510102019-12-10 | 1.061520我想添加一个基于现有DF或TS的新列,具有不匹配的索引;2019-12-04  00:00:00 | A2019-12-05  15:40:00 | B2019-12-07  00:30:00 | C2019-12-10  15:00:00 | D结果;2019-12-02 | 1.000000 NaN2019-12-04 | 1.020100 A2019-12-05 | 1.030301 B2019-12-06 | 1.040604 C2019-12-09 | 1.051010 NaN2019-12-10 | 1.061520 D现有数据帧中的间隔也可以小于 24 小时。
查看完整描述

1 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

使用merge_asof

df = pd.merge_asof(df1, 

                   df2, 

                   left_index=True, 

                   right_index=True, 

                   tolerance=pd.Timedelta(24, 'H'), 

                   direction='forward')

print (df)

                   A    B

2019-12-02  1.000000  NaN

2019-12-04  1.020100    A

2019-12-05  1.030301    B

2019-12-06  1.040604  NaN

2019-12-09  1.051010  NaN

2019-12-10  1.061520    D

df = pd.merge_asof(df1, 

                   df2, 

                   left_index=True, 

                   right_index=True, 

                   tolerance=pd.Timedelta(25, 'H'), 

                   direction='forward')

print (df)

                   A    B

2019-12-02  1.000000  NaN

2019-12-04  1.020100    A

2019-12-05  1.030301    B

2019-12-06  1.040604    C

2019-12-09  1.051010  NaN

2019-12-10  1.061520    D


查看完整回答
反对 回复 2022-08-25
  • 1 回答
  • 0 关注
  • 78 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信