我有一个熊猫数据帧,有1000行,如下所示:
x.head()
id jname wbdqueue_id startdatetime \
59 1341127 ondemand_build_baspen-w7g 26581 2017-07-31 23:14:56
60 1341126 ondemand_qa_qforchecka 26581 2017-07-31 23:15:35
61 1341125 ondemand_build_bchecka 26581 2017-07-31 23:14:56
63 1341123 ondemand_build_baspen-w7f 26581 2017-07-31 23:10:05
64 1341122 ondemand_update_waspen-w7a 26581 2017-07-31 23:09:32
enddatetime
59 2017-07-31 23:19:12
60 2017-07-31 23:34:12
61 2017-07-31 23:15:30
63 2017-07-31 23:14:56
64 2017-07-31 23:10:00
我想,对于每个wbdqueue id,得到ondemand\u update\u waspen-w7a的startdatetime和ondemand\u build\u baspen-w7g的enddatetime之间的差异。该怎么做?你知道吗
我导入CSV文件并将startdatetime和enddatetime解析为时间。然后我按wbdqueue\u id分组,我的想法是按jname索引每个组,这样我就可以找到我需要的两个jname的开始和结束时间戳。 但是当我这样做的时候,所有其他的值都变成了NaN或NaT(对于时间列)。你知道吗
-沙钦
我会用所描述的逻辑编写一个函数,使事情变得非常明确,后续代码也很容易理解:
然后可以在
group-by
操作中使用函数:这将产生:
请注意,我使用的是
end_time - start_time
,因为从逻辑上讲,您希望返回一个正的时间增量,并且结束时间总是大于开始时间。你知道吗我希望这是有目的的。你知道吗
如果您只需要在结果中使用statrdatetime和enddatetime之间的差异,您可以试试这个。你知道吗
相关问题 更多 >
编程相关推荐