Мне не совсем ясно, каков ваш желаемый результат, возможно, вы могли бы попробовать так:
d = {'H1':'-30-06', 'H2':'-31-12'}
df['date'] = df['date'].replace(d, regex=True)
df['date'] = pd.to_datetime(df['date'], format='%y-%d-%m')
Где в словаре d
установлены значения в конце половиныгод.