擅长:python、mysql、java
<p>我会用所描述的逻辑编写一个函数,使事情变得非常明确,后续代码也很容易理解:</p>
<pre><code>import pandas as pd
def get_time_diff(dff):
start_time = dff[dff.jname.eq('ondemand_update_waspen-w7a')].startdatetime.values[0]
end_time = dff[dff.jname.eq('ondemand_build_baspen-w7g')].enddatetime.values[0]
return pd.Timedelta(end_time - start_time)
</code></pre>
<p>然后可以在<code>group-by</code>操作中使用函数:</p>
<pre><code>df.groupby('wbdqueue_id').apply(get_time_diff)
</code></pre>
<p>这将产生:</p>
<pre><code>wbdqueue_id
26581 00:09:40
dtype: timedelta64[ns]
</code></pre>
<p>请注意,我使用的是<code>end_time - start_time</code>,因为从逻辑上讲,您希望返回一个正的时间增量,并且结束时间总是大于开始时间。你知道吗</p>
<p>我希望这是有目的的。你知道吗</p>