qs = df['Quarter'].str.replace(r'(Q\d) (\d+)', r'\2-\1') qs 0 1996-Q3 1 1996-Q4 2 1997-Q1 Name: Quarter, dtype: object df['date'] = pd.PeriodIndex(qs, freq='Q').to_timestamp() df Quarter date 0 Q3 1996 1996-07-01 1 Q4 1996 1996-10-01 2 Q1 1997 1997-01-01