擅长:python、mysql、java
<p>用<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.where.html" rel="nofollow noreferrer">^{<cd3>}</a>将非<code>B</code>值替换为<code>0</code>,然后使用<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.core.groupby.GroupBy.transform.html" rel="nofollow noreferrer">^{<cd4>}</a>:</p>
<pre><code>df['ANSWER']= (df['Total_to_Add'].where(df.Definition=='B', 0)
.groupby(df['Ref_No']).transform('sum'))
print (df)
Ref_No Definition Total_to_Add Total_'B' ANSWER
0 ref1 B 20 240 240
1 ref2 A 30 100 100
2 ref1 B 40 240 240
3 ref2 A 50 100 100
4 ref1 B 60 240 240
5 ref2 B 50 100 100
6 ref1 B 60 240 240
7 ref2 B 50 100 100
8 ref1 B 60 240 240
</code></pre>