У меня есть кадр данных, где индекс - это время, но данные в строке не являются однородными w.r.t. время, а именно:Pandas: добавление «по диагонали»
obs_TQ obs_PQ
year quarter
1 1 5499.330651 1655.414960
2 4650.849431 1807.889632
3 5417.065129 3352.855656
4 7771.021167 2343.369804
где obs_TQ
является наблюдение за этот квартал, и obs_PQ
является наблюдение за прошедший квартал. Я хочу, чтобы подвести итоги наблюдения за кварталом, поэтому результаты по кварталам будут
real_obs
year quarter
1 1 obs_TQ[1,1] + obs_PQ[1,2]
1 2 obs_TQ[1,2] + obs_PQ[1,3]
То есть для каждой строки, мне нужно добавить obs_TQ
из этой строки в obs_PQ
из следующего ряда:
real_obs
year quarter
1 1 7307.220283
1 2 8003.705087
Есть ли эффективный векторный способ сделать это? Группировка по индексу не будет работать здесь, так как мне нужно объединить данные из разных групп, и я не знаю какого-либо другого инструмента, который я мог бы использовать в этом контексте.
Что делать, если у меня есть третий субиндекс, например 'type in [0, 1]'. Один из способов гарантировать, что это будет предварительный выбор 'df.query (" type == i ")' * before * для выполнения вашей команды и повторение всех 'i'. Могу ли я включить это в 'shift()'? – FooBar