如何在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
相关但不完全重复: