擅长:python、mysql、java
<p>您可以通过使用<code>t-2</code>秒处的值重新填充<code>time</code>列中的值来创建新的数据帧,然后使用<code>id, time</code>列上的原始数据帧来创建此新数据帧以获得结果:</p>
<pre><code>df_r = df.assign(time=df['time'].sub(2))
df.merge(df_r, on=['id', 'time'], how='left', suffixes=['', '2'])
</code></pre>
<hr/>
<pre><code> id time x y x2 y2
0 1 0 14 12 52.0 14.0
1 1 1 32 23 NaN NaN
2 1 2 52 14 NaN NaN
3 2 2 12 34 NaN NaN
4 3 0 62 17 22.0 25.0
5 3 1 82 35 NaN NaN
6 3 2 22 25 NaN NaN
</code></pre>