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
Post a Comment