gpt4 book ai didi

python - 根据最近的日期时间将数据框合并/加入到不同的数据框

转载 作者:太空宇宙 更新时间:2023-11-04 00:48:29 25 4
gpt4 key购买 nike

我有一个相当长的 Pandas 数据框(100,000+),我想将这个数据框与另一个基于最接近元素(按索引)到不同数据框对象的数据框合并。例如,假设对象 1 如下:

 DateTime                x_1   y_1
2016-07-05 08:30:00 1 2
2016-07-05 08:30:01 3 4
2016-07-05 08:30:02 5 6
2016-07-05 08:30:03 7 8
2016-07-05 08:30:05 9 10
2016-07-05 08:30:11 11 12

对象 2 如下:

 DateTime                x_2   y_2
2016-07-05 08:30:00 13 14
2016-07-05 08:30:05 15 16
2016-07-05 08:30:05 17 18
2016-07-05 08:30:10 19 20

我想返回一个新对象 object3,它与 object2 的长度相同,现在包含 object1 中最接近 object2 时间的项目。在这种情况下,Object3 看起来像这样:

 DateTime                x_2   y_2   x_1   y_1  
2016-07-05 08:30:00 13 14 1 2
2016-07-05 08:30:05 15 16 9 10
2016-07-05 08:30:05 17 18 9 10
2016-07-05 08:30:10 19 20 11 12

我目前按照这些思路做了一些事情来让它工作,但是我得到了重建索引错误(非唯一索引):

object3 = object2.join(object1.reindex(object2.index, method='nearest'), how='left')

返回值错误:

ValueError:无法使用方法或限制重新索引非唯一索引

最佳答案

对另一个索引的唯一值执行reindex。您将在加入期间拾取重复项。

object3 = object2.join(object1.reindex(object2.index.unique(), method='nearest'))

结果输出:

                     x_2  y_2  x_1  y_1
DateTime
2016-07-05 08:30:00 13 14 1 2
2016-07-05 08:30:05 15 16 9 10
2016-07-05 08:30:05 17 18 9 10
2016-07-05 08:30:10 19 20 11 12

关于python - 根据最近的日期时间将数据框合并/加入到不同的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38234251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com