df至datetime对象中的YYMM整数

时间:2019-01-20 05:58:09

标签: python pandas datetime

我得到了一个带有“ DOB”列的数据框,这是出生日期。它以YYMM格式格式化为int格式。我需要的日期时间对象。

df['DOB'] = pd.to_datetime(df['DOB'], format='%y%y%m%m') 
df['DOB'] = pd.to_datetime(df['DOB'], format='%y%m')

那没有用。

我想将列中的所有值调整为正确的datetime对象,最后是否有一天都没关系

1 个答案:

答案 0 :(得分:0)

假设您有一个4位数的整数作为数据框的一列。您可以将日期时间转换为以下时间:

dob = ['2007','1605','1709','1809','0605','0812']

df = pd.DataFrame(dob,columns=['DOB'])

for i in range(len(df['DOB'])):
    split_list = [df.DOB.loc[i][:2],df.DOB.loc[i][2:]]
    df['DOB'].loc[i] = '-'.join(split_list)

df['DOB'] = pd.to_datetime(df['DOB'], format='%y-%m')

新数据框具有一列,其类型为datetime64 [ns]。您还可以分别提取年份和月份,如下所示:

df['year'] = pd.DatetimeIndex(df['DOB']).year
df['month'] = pd.DatetimeIndex(df['DOB']).month

现在最后一个数据框有3列,一列是日期,另一列是年和月。