我正在处理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')
答案 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);
});
});
弄明白!