寻找一种更有效的方法来循环和比较两个频率不同的Series对象中的datetimeindex值。在
设置
想象一下两个熊猫系列,每一个都有一个日期时间索引覆盖相同的年份,但每个索引的频率不同。一个有天的频率,另一个有小时的频率。在range1 = pd.date_range('2016-01-01','2016-12-31', freq='D')
range2 = pd.date_range('2016-01-01','2016-12-31', freq='H')
我试图循环使用这些系列的索引作为匹配天数的查找,这样我就可以比较每天的数据。在
我现在所做的…缓慢。
现在我正在使用多级for循环和if语句(见下文);与我在Pandas操作中使用的相比,完成这些循环的时间似乎过多了(每个循环5.45秒)。在
^{pr2}$
问题
有没有一种更有效的方法可以使用frame1中的索引来循环frame2中的索引,并比较给定日期内每个帧中的值?最后,我想在frame2vals大于frame1vals的地方创建一系列值。在
可重复(测试)示例
用随机数据创建两个独立的序列,并为每个序列分配一个日期时间索引。在import pandas as pd
import numpy as np
range1 = pd.date_range('2016-01-01','2016-12-31', freq='D')
range2 = pd.date_range('2016-01-01','2016-12-31', freq='H')
frame1 = pd.Series(np.random.rand(366), index=range1)
frame2 = pd.Series(np.random.rand(8761), index=range2)