在Pandas数据框中缺少'%I:%M%p'数据 - Python

时间:2016-12-22 06:39:21

标签: python datetime pandas dataframe

我正在处理Pandas df中的时间,该dd具有完整格式的日期时间:'%d/%m/%Y %I:%M %p',而有些只有'%d/%m/%Y'。结果,当我尝试使用pd.to_datetime: "time data '24/03/2013'与格式'%d/%m/%Y %I:%M %p' (match)"

不匹配时,它会出错

有没有办法在df中将'%I:%M %p'添加到'24/03/2013'

这是我用来转换为datetime格式的代码:

time = pd.to_datetime(samples.DATE_HOURS,format='%d/%m/%Y %I:%M %p')

1 个答案:

答案 0 :(得分:2)

设置

# dayfirst=True Thx @NickilMaveli
pd.to_datetime(samples.DATE_HOURS, dayfirst=True)

0   2016-03-31
1   2016-04-01
2   2016-04-02
3   2016-04-03
4   2016-04-04
5   2016-03-31
6   2016-04-01
7   2016-04-02
8   2016-04-03
9   2016-04-04
Name: DATE_HOURS, dtype: datetime64[ns]
pd.to_datetime(samples.DATE_HOURS,format='%d/%m/%Y %I:%M %p')

虽然

to_datetime
  

ValueError:时间数据' 31/03/2016'不符合格式'%d /%m /%Y%I:%M%p' (匹配)

故事的道德, 不强制格式化。让passport.serializeUser(function(user, done) { done(null, user.id); }); passport.deserializeUser(function(id, done) { User.findById(id, function (err, user) { done(err, user); }); }); 弄明白!