How to convert a column of type integer to type datetime in python? -


i have column ("admit_year") of integers in dataframe. typical element in column looks like: 200110, 2001 = year , 10 = month. need convert column type datetime.

i succeeded in doing using clunky method below. offer more efficient way of writing code?

freshman['admit_year'] = freshman['admit_term'].astype(str).str.slice(0,4) freshman['admit_month'] = freshman['admit_term'].astype(str).str.slice(4,6) freshman['admit_date_str'] = freshman['admit_year']+'/'+freshman['admit_month'] freshman['admit_date'] = pd.to_datetime(freshman['admit_date_str'], format="%y/%m") 

note: believe question not answered here since dates not integer days.

just apply pd.to_datetime directly (the string conversion of) column, no need use string slicing here:

freshman['admit_date'] = pd.to_datetime(freshman['admit_date'].astype(str), format='%y%m') 

there no requirement there delimiter between digits:

>>> import pandas pd >>> df = pd.dataframe({'admit_date': [200110, 201604]}) >>> df['admit_date'] = pd.to_datetime(df['admit_date'].astype(str), format='%y%m') >>> df   admit_date 0 2001-10-01 1 2016-04-01 >>> df.dtypes admit_date    datetime64[ns] dtype: object 

Comments

Popular posts from this blog

Django REST Framework perform_create: You cannot call `.save()` after accessing `serializer.data` -

Why does Go error when trying to marshal this JSON? -