擅长:python、mysql、java
<p>您可以使用<code>GroupBy</code>+<code>shift</code>,然后使用<code>bfill</code>:</p>
<pre><code>g = df.groupby('Vehicle_ID')
df[['Prior_Lat', 'Prior_Lon']] = g[['Lat', 'Lon']].shift().bfill()
print(df[['Prior_Lat', 'Prior_Lon']])
Prior_Lat Prior_Lon
0 51.445768 -0.456130
1 51.445768 -0.456130
2 52.497911 -1.903832
3 52.332395 -1.346753
4 51.445768 -0.456130
5 51.445768 -0.456130
6 52.110728 -0.463547
7 52.276323 -1.579845
8 52.423667 -0.609697
</code></pre>
<p>或者,您可以使用<code>fillna</code>代替<code>bfill</code>:</p>
^{pr2}$