Python 查找两列之间经过的时间

Python 查找两列之间经过的时间,python,pandas,csv,Python,Pandas,Csv,我最近开始使用熊猫,我正在尝试自学训练模型。我有一个数据集,它有结束时间和开始时间列,我目前正在努力查找同一行中这些列之间经过的时间(秒) 这是我试过的代码 [中] [外] 我查了其他类似的问题,这个问题的不同之处在于,它连接到一个CSV文件。我可以使用其他问题解决方案中的虚拟数据轻松地应用这些步骤,但这不适用于我的情况。请参见以下内容。我捏造了一些数据,如果你有一个产生错误的数据示例,请随意提出问题 import pandas as pd from datetime import dateti

我最近开始使用熊猫,我正在尝试自学训练模型。我有一个数据集,它有结束时间和开始时间列,我目前正在努力查找同一行中这些列之间经过的时间(秒)

这是我试过的代码

[中]

[外]


我查了其他类似的问题,这个问题的不同之处在于,它连接到一个CSV文件。我可以使用其他问题解决方案中的虚拟数据轻松地应用这些步骤,但这不适用于我的情况。

请参见以下内容。我捏造了一些数据,如果你有一个产生错误的数据示例,请随意提出问题

import pandas as pd
from datetime import datetime
from datetime import date

df = pd.DataFrame({'start_time':pd.date_range('2015-01-01 01:00:00', periods=3), 'end_time':pd.date_range('2015-01-02 02:00:00', periods=3, freq='23H')})

st = pd.to_datetime(df['start_time'], format='%Y-%m-%d')
et = pd.to_datetime(df['end_time'], format='%Y-%m-%d')

diff = et-st

df['seconds'] = diff.dt.total_seconds()

如果所有差异的大小<1天,
.days
属性将为0。也许你想要
(et st).dt.total_seconds()
这能回答你的问题吗@ALollz当我尝试这样做时,我收到以下错误:文件“”,第11行^SyntaxError:while时出现意外EOFparsing@RuthgerRighart在我发布这个问题之前,我检查了同样的问题。遗憾的是,它没有帮助。当我遵循这一点时,我得到的输出是:0 1天01:00:00 1天00:00:00 2 0天23:00:00数据类型:timedelta64[ns]我真正需要的是计算新列中每一行的运行时间。我认为这是一个非常正确的方向,但不确定遗漏了什么哦,哇。我只是重新插入了我的桌子,并再次执行了步骤。没有'df=pd.DataFrame({'start_-time':pd.date_-range('2015-01-01 01:00:00',periods=3),'end_-time':pd.date_-range('2015-01-02 02:00:00',periods=3,freq='23H'))这部分,它就像一个魔咒一样工作!非常感谢。这是我的荣幸!
0        0
1        0
2        0
3        0
4        0
        ..
10000    0
Length: 10001, dtype: int64
import pandas as pd
from datetime import datetime
from datetime import date

df = pd.DataFrame({'start_time':pd.date_range('2015-01-01 01:00:00', periods=3), 'end_time':pd.date_range('2015-01-02 02:00:00', periods=3, freq='23H')})

st = pd.to_datetime(df['start_time'], format='%Y-%m-%d')
et = pd.to_datetime(df['end_time'], format='%Y-%m-%d')

diff = et-st

df['seconds'] = diff.dt.total_seconds()