擅长:python、mysql、java
<p>通过使用<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.shift.html" rel="nofollow noreferrer">shift</a>并从重新填充日期中减去来获取所经过的时间</p>
<pre><code>(
df.assign(
refill_date=pd.to_datetime(df.refill_date),
time_shift=lambda x: x.groupby("carId").refill_date.shift(),
time_elapsed=lambda x: x.time_shift.sub(x.refill_date).abs(),
)
)
</code></pre>
<p>使用<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.diff.html" rel="nofollow noreferrer">diff</a>的其他答案更好,因为这更简洁,而且我相信更快</p>