Возможно, вам нужно отслеживать событие «нажатия клавиш»? Я не думаю, что автоматическое вложение чего-нибудь вызовет событие «нажатия клавиш».
Ну, вы можете начать с этого:
dfR = df1.copy()
dfR.loc[dfR['TranDate'].between(df2['StartDate'], df2['EndDate']), 'PP'] = df2['PP']
Может быть, это сработает для вас.