擅长:python、mysql、java
<p>下面是另一种使用<a href="https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.merge.html" rel="nofollow noreferrer">^{<cd1>}</a>的方法-我们将在<code>prv_month</code>键上“合并”,我们将<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.assign.html" rel="nofollow noreferrer">^{<cd3>}</a>内联:</p>
<pre><code>df['PreviousQty'] = (df.assign(prv_month=df['Month'].sub(1).where(lambda x: x!=0, 12))
.merge(df,
how='left',
left_on=['Color', 'prv_month'],
right_on=['Color', 'Month'])['Qty_y'].fillna(0))
</code></pre>
<p>[外]</p>
<pre><code> Color Month Qty PreviousQty
0 1 1 34047 9300.0
1 1 2 36654 34047.0
2 2 3 37291 0.0
3 2 4 35270 37291.0
4 3 5 35407 0.0
5 1 12 9300 0.0
</code></pre>