首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >智能算法合并datetime列上的2个数据帧

智能算法合并datetime列上的2个数据帧
EN

Stack Overflow用户
提问于 2021-11-29 09:14:52
回答 1查看 25关注 0票数 0

我有两个数据帧,df1是一些流量数据:

代码语言:javascript
复制
id  mtm_id  date_p  travel_d    ut_p    travel_t
0   1   2020-11-25 14:50:04 22.206  2.426   53.864
1   1   2020-11-25 15:50:05 22.214  1.578   35.049
2   1   2020-11-25 16:50:05 22.214  1.766   39.227
3   1   2020-11-25 17:50:05 22.206  1.75    38.867
4   1   2020-11-25 18:50:04 22.206  1.533   34.044
... ... ... ... ... ...
7408    1   2021-10-02 19:50:06 22.205  1.502   33.358
7409    1   2021-10-02 20:50:14 22.205  1.37    30.42
7410    1   2021-10-02 21:50:05 22.205  1.342   29.791
7411    1   2021-10-02 22:50:09 22.205  1.296   28.777
7412    1   2021-10-02 23:50:06 22.688  1.196   27.144

第二个df2是天气数据:

代码语言:javascript
复制
id date_w   temperature pressure    humidity    clouds  wind_speed
0   2017-04-09 16:00:00 281.4   1019    49  Clear : clear sky, 0%   4
1   2017-04-10 22:00:00 7.83    1012    81  Clear : ясно, 0%    3
2   2017-04-11 15:00:00 18  1002    42  Clear : ясно, 0%    9
3   2017-04-11 21:30:00 8.78    1003    93  Rain : дождь, 75%   5
4   2017-04-12 15:30:00 6.25    1002    60  Clouds : слегка облачно, 40%    5
... ... ... ... ... ... ...
7118    2021-10-03 06:17:52 4   1035    61  Clouds : облачно с прояснениями, 63%    2.08
7119    2021-10-03 12:18:14 10  1034    44  Clouds : облачно с прояснениями, 69%    2.1
7120    2021-10-03 18:17:42 5.19    1035    58  Rain : небольшой дождь, 100%    1.9
7121    2021-10-04 00:17:48 3.65    1036    71  Clouds : пасмурно, 98%  1.77
7122    2021-10-04 06:17:20 5.81    1037    71  Clouds : облачно с прояснениями, 55%    2.98

数据是独立收集的,因此表中的日期是不同的。为了得到最终的表格,我需要在df1中的每一行中附加最接近日期时间(min(abs( df2 _p-date_w))的日期行,以便在时间上匹配(同步)流量和适当的天气数据):

代码语言:javascript
复制
id  mtm_id  date_p  travel_d    ut_p    travel_t date_w temperature pressure    humidity    clouds  wind_speed

我可以用循环的标准方式来做这件事,但是我想知道是否有任何python优雅的方法可以用向量操作来做这件事,而不是一步一步地做(我相信python专家可以做任何事情!))。这也是代码执行速度的问题,这也很重要。

提前感谢。

EN

回答 1

Stack Overflow用户

发布于 2021-11-30 20:04:43

实际上,merge_asof在这种情况下工作得很好,就像科拉伦在上面(Smart algo to merge 2 dataframes on datetime column)所说的那样,所以,解决方案Pandas - how to merge dataframes on datetime column of different format?在这种情况下也可以工作!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70152196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档