关于这个主题的文章很多,但我仍然无法解决这个问题:
我的df1有不均匀的时间间隔行,如:
Time a
2015-04-07 09:09:48 185.25
2015-04-07 09:30:50 190.50
2015-04-07 09:31:07 187.00
2015-04-07 09:35:23 190.60
2015-04-07 09:47:43 185.30
然后我有一个更大的df2也有不均匀间隔的行,如:
time b c
2016-06-08 09:09:00 32.30 32.80
2016-06-08 09:09:48 32.35 32.89
2016-06-08 09:24:22 32.30 32.81
2016-06-08 09:30:50 32.40 32.84
我想用df1中的每一行创建一个新的df,df2中的时间对应行(如果有的话)。
预期结果:
Time a b c
2015-04-07 09:09:48 185.25 32.35 32.89
2015-04-07 09:30:50 190.50 32.40 32.84
...
是否可以对自定义频率进行重新采样,即df1.index?
任何提示或线索最受欢迎:)
更新
要处理的问题少,我在df2中删除了重复的条目:
df2[~df2.index.duplicated(keep='last')]
我正在寻找熊猫的解决方案。 以上示例相应更新。
答案 0 :(得分:0)
我不知道pandas是否有任何库,但这应该能够使用字典轻松解决。
从df1构建dict_1,从df2构建dict_2,时间为关键,然后:
for time_key in dict_1:
if time_key in dict_2:
dict_1[time_key]['b'] = dict_2[time_key]['b']
dict_1[time_key]['c'] = dict_2[time_key]['c']