How to find a smart solution to turn Year_Q to datetime? I tried to use
pd.to_datetime(working_visa_nationality[\'Year_Q\'])
but got
My solution with regex.
df['Year_Q'] = pd.to_datetime(df['Year_Q'].str.replace(r'\ [Q1]+', '-3-31'))
working_visa_nationality['Dates'] = pd.PeriodIndex(working_visa_nationality['Year_Q'].str.replace(' ', ''), freq='Q').to_timestamp() + pd.offsets.QuarterEnd()
working_visa_nationality['Dates'] = pd.PeriodIndex(working_visa_nationality['Year_Q'].str.replace(' ', ''), freq='Q').to_timestamp(how='end')
both of them work well. Thank you all and I did some experiment.
I a bit changed MaxU answer:
df = pd.DataFrame({'Year_Q': ['2010 Q1', '2015 Q2']})
df['Dates'] = pd.PeriodIndex(df['Year_Q'].str.replace(' ', ''), freq='Q').to_timestamp()
print (df)
Year_Q Dates
0 2010 Q1 2010-01-01
1 2015 Q2 2015-04-01
EDIT:
df['Dates'] = pd.PeriodIndex(df['Year_Q'].str.replace(' ', ''), freq='Q').to_timestamp(how='e')
print (df)
Year_Q Dates
0 2010 Q1 2010-03-31
1 2015 Q2 2015-06-30