设置数据框列以在列中有空格时键入datetime

时间:2018-10-26 14:50:51

标签: python pandas

我有一个数据框(df),其中有两列,其头部看起来像

    name                start                  end   
0   John  2018-11-09 00:00:00  2012-03-01 00:00:00
1  Steve  1990-09-03 00:00:00  
2   Debs  1977-09-07 00:00:00  2012-07-02 00:00:00
3  Mandy                       2009-01-09 00:00:00
4  Colin  1993-08-22 00:00:00  2002-06-03 00:00:00

startend列的类型为object。我想将类型更改为datetime,以便可以使用以下内容:

referenceError = DeptTemplate['start'] > DeptTemplate['end']

am尝试使用以下方式更改类型:

df['start'].dt.strftime('%d/%m/%Y') 
df['end'].dt.strftime('%d/%m/%Y') 

但是我认为在某些行的列中没有日期的地方会导致问题。有人可以让我知道如何设置任何空白值,以便我可以将类型更改为日期时间并运行分析

谢谢

1 个答案:

答案 0 :(得分:0)

.to_datetime docs所示,您可以使用errors kwarg来设置行为。您还可以使用strftime kwarg设置format格式。

# Bad values will be NaT
df["start"] = pd.to_datetime(df.start, errors='coerce', format='%d/%m/%Y')

如评论中所述,如果绝对必须使用strftime,则可以用replace来准备该列。