我有一个数据框(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
start
和end
列的类型为object
。我想将类型更改为datetime
,以便可以使用以下内容:
referenceError = DeptTemplate['start'] > DeptTemplate['end']
am尝试使用以下方式更改类型:
df['start'].dt.strftime('%d/%m/%Y')
df['end'].dt.strftime('%d/%m/%Y')
但是我认为在某些行的列中没有日期的地方会导致问题。有人可以让我知道如何设置任何空白值,以便我可以将类型更改为日期时间并运行分析
谢谢
答案 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
来准备该列。