Python 如何以不同的时间间隔索引和大小合并/加入/合并/对齐两个dfs
关于这个话题写了很多文章,但我还是不明白这个: 我有一个df1,它具有不均匀的时间间隔行,如:Python 如何以不同的时间间隔索引和大小合并/加入/合并/对齐两个dfs,python,pandas,time-series,Python,Pandas,Time Series,关于这个话题写了很多文章,但我还是不明白这个: 我有一个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 time b
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
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
然后我有一个更大的df2,它的行间距也不均匀,如:
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
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中的每一行和df2中对应的时间行(如果有)创建一个新的df
预期成果:
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')]
我在找一个解决方案。
上面的例子也相应地更新了 我不知道熊猫是否有图书馆,但这应该可以用字典轻松解决 以时间为键,从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']
如果dict_2中有多行对应于dict_1中的time_键,该怎么办?在构建dict_2中的for循环中,用新的条目覆盖上一个条目。