我正在使用旧版数据库(SQL-Server 2008),并且提取了一些数据,如下所示:
我完全迷失了StartTime和EndTime格式是什么?我很确定自己在搜索错误的内容,但是我也不知道该用谷歌搜索什么!
我尝试使用标准的pd_to_datetime
或pd_to_timedelta
转换为timedelta或pandas datetime对象,但这并不是我所能理解的。
第三行给我1970-01-01 00:00:00.000000540
import pandas as pd
df = pd.read_clipboard(sep='\s+')
print(df)
StartDate StartTime EndTime Duration
0 18/11/2006 NaN NaN 0
1 23/12/2006 NaN NaN 0
2 23/12/2006 540.0 1080.0 540
3 23/12/2006 540.0 1020.0 480
4 23/12/2006 540.0 1020.0 480
5 30/12/2006 630.0 1080.0 450
6 30/12/2006 540.0 1020.0 480
7 30/12/2006 540.0 1020.0 480
8 30/12/2006 540.0 1020.0 480
9 30/12/2006 540.0 1020.0 480
10 06/01/2007 1020.0 1200.0 180
11 06/01/2007 540.0 1020.0 480
12 06/01/2007 540.0 1020.0 480
13 06/01/2007 1020.0 1200.0 180
14 06/01/2007 1020.0 1200.0 180
15 18/11/2006 540.0 780.0 240
16 18/11/2006 900.0 960.0 60
17 23/12/2006 NaN NaN 0
18 23/12/2006 540.0 1080.0 540
19 23/12/2006 540.0 1020.0 480
20 23/12/2006 540.0 1020.0 480
21 23/12/2006 540.0 1020.0 480
22 09/09/2006 540.0 1050.0 510
23 09/09/2006 540.0 1050.0 510
24 09/09/2006 540.0 1020.0 480
有人可以帮助吗?
答案 0 :(得分:0)
在发布问题之前应该忍受更长的时间,
对于可能会有相同问题的迷路人员-数字是时间(以秒为单位),将单位参数传递给与to_datetime
链接的dt.strftime()
函数可以得到数据,这似乎大约正确:
由于我不太确定幕后发生的事情,因此,我很高兴接受任何能够对幕后执行的事情进行简单解释的人的回答。
df['StartTime'] = pd.to_datetime(df['StartTime'],unit='s').dt.strftime('%H:%M:%S')
df['EndTime']= pd.to_datetime(df['EndTime'],unit='s').dt.strftime('%H:%M:%S')
df['Duration'] = pd.to_datetime(df['Duration'],unit='s').dt.strftime('%H:%M:%S')
print(df)
StartDate StartTime EndTime Duration
0 18/11/2006 NaT NaT 00:00:00
1 23/12/2006 NaT NaT 00:00:00
2 23/12/2006 00:09:00 00:18:00 00:09:00
3 23/12/2006 00:09:00 00:17:00 00:08:00
4 23/12/2006 00:09:00 00:17:00 00:08:00
5 30/12/2006 00:10:30 00:18:00 00:07:30
6 30/12/2006 00:09:00 00:17:00 00:08:00
7 30/12/2006 00:09:00 00:17:00 00:08:00
8 30/12/2006 00:09:00 00:17:00 00:08:00
9 30/12/2006 00:09:00 00:17:00 00:08:00
10 06/01/2007 00:17:00 00:20:00 00:03:00
11 06/01/2007 00:09:00 00:17:00 00:08:00
12 06/01/2007 00:09:00 00:17:00 00:08:00
13 06/01/2007 00:17:00 00:20:00 00:03:00
14 06/01/2007 00:17:00 00:20:00 00:03:00
15 18/11/2006 00:09:00 00:13:00 00:04:00
16 18/11/2006 00:15:00 00:16:00 00:01:00
17 23/12/2006 NaT NaT 00:00:00
18 23/12/2006 00:09:00 00:18:00 00:09:00
19 23/12/2006 00:09:00 00:17:00 00:08:00
20 23/12/2006 00:09:00 00:17:00 00:08:00
21 23/12/2006 00:09:00 00:17:00 00:08:00
22 09/09/2006 00:09:00 00:17:30 00:08:30
23 09/09/2006 00:09:00 00:17:30 00:08:30
24 09/09/2006 00:09:00 00:17:00 00:08:00