擅长:python、mysql、java
<p>您可以不使用groupby并使用<code>drop_duplicate</code>和{<cd2>}:</p>
<pre><code>df.join(df.drop_duplicates('order_id')\
.eval('crow = distance_theo / bird_distance')[['crow']]).ffill()
</code></pre>
<p>或者使用<code>assign</code>而不是{<cd4>}根据@jezraela下面的评论:</p>
^{pr2}$
<p>输出:</p>
<pre><code> order_id distance_theo bird_distance crow
0 10 100 80 1.250000
1 10 80 80 1.250000
2 10 70 80 1.250000
3 11 90 70 1.285714
4 11 70 70 1.285714
5 11 60 70 1.285714
6 12 200 180 1.111111
7 12 150 180 1.111111
8 12 100 180 1.111111
9 12 60 180 1.111111
</code></pre>