Вы можете использовать что-то вроде этого:
def f(x):
if x['ID'] == 3 and '2016' in x['Date']:
return x['Date'].replace('2014','2016')
else:
return x['Date']
df['new_column'] = df.apply(f, axis=1)
В зависимости от того, как сохраняется дата, вы должны изменить.Этот пример для простой строки, но должен быть адаптирован к другим типам.
Если вы хотите использовать лямбда-функцию:
df['new_column'] = df.apply(lambda x: x['Date'].replace('2014', '2016') if x['ID'] == 3 and '2016' in x['Date'] else x['Date'], axis=1)