我有需要在特定日期和特定范围的仪器读数后应用的校准因子,即。更高的读数将需要不同的校准系数。我正在尝试应用基于时间的查找表以及通过使用嵌套 python 字典读取的原始仪器。
这是我正在使用的数据框的示例:
dates = pd.date_range('2013-05-06', '2013-07-20', freq='D')
data = random.random(size=(76,2)) * 10
df = DataFrame(data, index=dates, columns=['instrument 1','instrument 2'])
这是嵌套字典的示例,其中包含特定日期之后的仪器校准因子并基于仪器读数。
caldates = pd.DatetimeIndex(['2013-05-06','2013-07-09'])
calibration = {caldates[0]:{'instrument 1':{'multiply':{1:0.05, 3:0.04, 7:0.03}, 'offset':{1:5, 3:7, 7:10}},
'instrument 2':{'multiply':{1:0.06, 3:0.04, 7:0.005}, 'offset':{1:8, 3:10, 7:15}},
caldates[1]:{'instrument 1':{'multiply':{1:0.05, 3:0.04, 7:0.03}, 'offset':{1:5, 3:7, 7:10}},
'instrument 2':{'multiply':{1:0.06, 3:0.04, 7:0.005}, 'offset':{1:8, 3:10, 7:15}},
正如我之前所说,在特定日期完成的校准因子应该在日期之后应用,并且使用的乘数和偏移量应该从最接近仪器读数的键中找到。
有没有办法遍历我的数据框以将这些校准因子与嵌套字典一起应用为查找表的一种形式?