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: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

如何指定 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

编辑:

让:

In [5]: import pandas as pd

In [6]: a = pd.to_timedelta('0 days 00:43:00.000000000',unit='s')

In [7]: a
Out[7]: Timedelta('0 days 00:43:00')

In [8]: a.total_seconds()
Out[8]: 2580.0

希望有帮助。

编辑2:

在您的数据框中:

dftask['TimeWindowDuration'] = (dftask['LatestEnd'] - dftask['EarliestStart']).dt.seconds

请记住使用 parse_dates=['LatestEnd','EarliestStart'] 读取数据帧或将列解析为日期。

关于python - 提取两个日期,结果以秒为单位( Pandas ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32883104/

相关文章:

python - Pandas,根据列值的唯一子集追加列

python - 如何将基于L2CAP的蓝牙相机快门(AB Shutter 3)连接到Linux并在Python中获取关键事件?

python - 如何在 python 脚本中运行 linux (ubuntu) 命令?

python - pandas 数据框上的 numpy arange 实现

python - Pandas :使用行总和的条形图

Python panda read_csv 在导入过程中转换数据时出现数据中值为 "-"的问题

javascript - 使用 Python 3.5.1 和 Selenium 2.53.2 选择并单击网站按钮时出现问题

python - 如何避免 youtube-dl 中的 No-SSL-CERTIFICATE 错误?

python - 求解多参数方程,选择因变量。 [ python ,科学]

python - 如何根据 Pandas 中的一列列表组合两个数据框