为什么我会得到1900-01-01'在我在熊猫的时间专栏

时间:2017-08-10 21:36:09

标签: python pandas dataframe time

我正在pandas开展数据框架工作。我希望将time列转换为to_datetime,我的时间之前会收到 1900-01-01

一些示例数据,

  Date              hour
01-06-2013      23:00:00
02-06-2013      01:00:00
02-06-2013      21:00:00
02-06-2013      22:00:00
02-06-2013      23:00:00
03-06-2013      01:00:00
03-06-2013      21:00:00
03-06-2013      22:00:00
03-06-2013      23:00:00
04-06-2013      01:00:00

这是我试过的,

df['hour'] = pd.to_datetime(df['hour'],format ='%H:%M:%S', errors = 'coerce')

我是这样的,

print(df['hour'])

0        1900-01-01 23:00:00
1        1900-01-01 01:00:00
2        1900-01-01 21:00:00
3        1900-01-01 00:00:00

我的df中不需要1900-01-01。为什么会这样?我怎么能摆脱这个?

1 个答案:

答案 0 :(得分:2)

非常接近,只需将列设置为to_datetime()

末尾的时间
df['hour'] = pd.to_datetime(df.hour,format ='%H:%M:%S', errors = 'coerce').dt.time

         Date      hour
0  01-06-2013  23:00:00
1  02-06-2013  01:00:00
2  02-06-2013  21:00:00
3  02-06-2013  22:00:00
4  02-06-2013  23:00:00
5  03-06-2013  01:00:00
6  03-06-2013  21:00:00
7  03-06-2013  22:00:00
8  03-06-2013  23:00:00
9  04-06-2013  01:00:00