如何在python中将整型列转换为datetime类型?
我在数据框中有一列(如何在python中将整型列转换为datetime类型?,python,datetime,pandas,Python,Datetime,Pandas,我在数据框中有一列(“承认年”)整数。列中的典型元素如下所示:200110,其中2001=年,10=月。我需要将此列转换为datetime类型 我使用下面的笨拙方法成功地做到了这一点。有人能提供一种更有效的方法来编写这段代码吗 Freshman['ADMIT_YEAR'] = Freshman['ADMIT_TERM'].astype(str).str.slice(0,4) Freshman['ADMIT_MONTH'] = Freshman['ADMIT_TERM'].astype(str).
“承认年”
)整数。列中的典型元素如下所示:200110
,其中2001
=年,10
=月。我需要将此列转换为datetime类型
我使用下面的笨拙方法成功地做到了这一点。有人能提供一种更有效的方法来编写这段代码吗
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")
注意:我相信这个问题没有得到回答,因为我的日期不是整数天。只需将
pd直接应用于列的(字符串转换),无需在此处使用字符串切片:
Freshman['ADMIT_DATE'] = pd.to_datetime(Freshman['ADMIT_DATE'].astype(str), format='%Y%m')
数字之间不需要分隔符:
>>> import pandas as 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
相关但不完全重复: