擅长:python、mysql、java
<p>您可以使用<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.core.groupby.GroupBy.apply.html" rel="nofollow noreferrer">^{<cd1>}</a>:</p>
<pre><code>df = df.groupby('ID').apply(lambda x: x['B'].prod() / x['A'].sum()).reset_index(name='C')
print (df)
ID C
0 1 8.0
1 2 64.0
</code></pre>
<p>用<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.core.groupby.GroupBy.prod.html" rel="nofollow noreferrer">^{<cd2>}</a>和<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.core.groupby.GroupBy.sum.html" rel="nofollow noreferrer">^{<cd3>}</a>除以<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.div.html" rel="nofollow noreferrer">^{<cd4>}</a>的另一个解:</p>
<pre><code>g = df.groupby('ID')
df = g['B'].prod().div(g['A'].sum()).reset_index(name='C')
print (df)
ID C
0 1 8.0
1 2 64.0
</code></pre>
<p>同:</p>
<pre><code>df = df.groupby('ID')['B'].prod().div(df.groupby('ID')['A'].sum()).reset_index(name='C')
print (df)
ID C
0 1 8.0
1 2 64.0
</code></pre>