特定の日付の後に、特定の範囲の機器の読み取り値に適用する必要がある校正係数があります。読み取り値が高いほど、別の校正係数が必要になります。私は、ネストされた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}},
前に述べたように、特定の日付に行われた校正係数はその日付の後に適用する必要があり、使用される乗数とオフセットは、機器の読み取り値に最も近いキーから見つける必要があります。
これらのキャリブレーション係数をネストされた dict をルックアップ テーブルの形式として適用するために、データフレームを反復処理する方法はありますか?