Python 提取两个日期,以秒为单位(熊猫)

Python 提取两个日期,以秒为单位(熊猫),python,pandas,Python,Pandas,我想提取两个日期,并以秒为单位显示结果。我有: dftask['TimeWindowDuration'] = dftask['LatestEnd'] - dftask['EarliestStart'] LatestEnd和EarliestStart都是:datetime64[ns] 相应的输出数据帧: LatestEnd EarliestStart TimeWindowDuration 27-7-2015 22:57 27-7-2015 22:14 0 days 00:43:0

我想提取两个日期,并以秒为单位显示结果。我有:

dftask['TimeWindowDuration'] = dftask['LatestEnd'] - dftask['EarliestStart']
LatestEnd和EarliestStart都是:
datetime64[ns]

相应的输出数据帧:

    LatestEnd   EarliestStart   TimeWindowDuration
27-7-2015 22:57 27-7-2015 22:14 0 days 00:43:00.000000000
28-7-2015 6:20  28-7-2015 1:50  0 days 04:30:00.000000000
28-7-2015 6:45  27-7-2015 20:32 0 days 10:13:00.000000000
28-7-2015 7:00  27-7-2015 21:47 0 days 09:13:00.000000000
28-7-2015 6:15  28-7-2015 1:45  0 days 04:30:00.000000000
dftask['TimeWindowDuration'] = (dftask['LatestEnd'] - dftask['EarliestStart']).dt.seconds
如何指定TimeWindowDuration以秒为单位<代码>单位='s'


谢谢你的帮助

尝试使用
timedelta.total_seconds()
作为:

dftask['TimeWindowDuration'].total_seconds()
例如:

d1 = datetime(2015, 10, 1, 10, 56, 21)
d2 = datetime(2015, 10, 1, 10, 58, 21)
d3 = d2-d1

In [21]: d3.total_seconds()
Out[21]: 120.0
编辑:

让我们:

希望有帮助

编辑2:

在数据帧中:

    LatestEnd   EarliestStart   TimeWindowDuration
27-7-2015 22:57 27-7-2015 22:14 0 days 00:43:00.000000000
28-7-2015 6:20  28-7-2015 1:50  0 days 04:30:00.000000000
28-7-2015 6:45  27-7-2015 20:32 0 days 10:13:00.000000000
28-7-2015 7:00  27-7-2015 21:47 0 days 09:13:00.000000000
28-7-2015 6:15  28-7-2015 1:45  0 days 04:30:00.000000000
dftask['TimeWindowDuration'] = (dftask['LatestEnd'] - dftask['EarliestStart']).dt.seconds

记住阅读数据框或将列解析为日期,使用
parse_dates=['LatestEnd','EarliestStart']

请阅读@Alex.S不知道我的帖子有什么问题吗?我提供了代码、示例和结果?我试着执行你提供的代码,猜猜发生了什么。你到底想干什么?我相信timedelta已经有了精确到秒(甚至纳秒)的精度。我想我想把TimeWindowDuration的输出格式改为秒。使用此格式,我无法在Excel中进行计算,因为Excel无法识别日期格式(0天00:43:00.00000)。它甚至不承认它是一种日期格式。Hi@Fabio谢谢你的回复,但它的结果是:Series’object没有属性‘total_seconds’,而Timewindowduration=timedelta64[ns]你可以用原始数据框的样本编辑你的问题,这样我们就可以重现你的问题吗?我更改了帖子,并添加了数据框架,谢谢您的编辑。我可以复制您的示例,但是如何用我的数据帧实现它呢?如果我这样做:temp=pd.to_timedelta(dftask['TimeWindowDuration',unit='s')dftask['TimeWindowDuration']=temp.total_seconds(),它会复制相同的错误。