擅长:python、mysql、java
<p>试试这个:</p>
<pre><code>df['shares'] = df.groupby('product')['revenue'].apply(lambda x: x/ x.sum())
In [898]: df
Out[898]:
product revenue shares
0 A 10 0.2
1 A 20 0.4
2 A 20 0.4
3 B 0 0.0
4 B 50 0.5
5 B 50 0.5
6 C 0 0.0
7 C 0 0.0
8 C 30 1.0
</code></pre>