擅长:python、mysql、java
<p>使用<code>str.get_dummies</code>+单个<code>groupby</code>调用来提高性能:</p>
<pre><code>df.status.str.get_dummies().groupby(df.card_id).transform('sum')
N Y
0 0 1
1 1 1
2 1 1
3 0 2
4 0 2
</code></pre>
<hr/>
<pre><code>v = (df.status
.str.get_dummies()
.groupby(df.card_id)
.transform('sum')
.rename({'Y': 'num_approved', 'N': 'num_denied'}, axis=1))
pd.concat([df, v], axis=1)
trn_id card_id status num_denied num_approved
0 1 c1 Y 0 1
1 2 c2 Y 1 1
2 3 c2 N 1 1
3 4 c3 Y 0 2
4 5 c3 Y 0 2
</code></pre>