<h2>解决方案</h2>
<pre class="lang-py prettyprint-override"><code># Assuming
# winrate = sum(hasWon*frags)/sum(frags)
# df['winrate'] = df['hasWon']*df['frags']/df['frags'].sum()
# Calculate Aggregate Result
result = (df.groupby(['vehicle'])
.agg({
'frags': sum,
'winrate': sum
})
</code></pre>
<p><a href="https://i.stack.imgur.com/VBJu2.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/VBJu2.png" alt="enter image description here"/></a></p>
<h2>虚拟数据</h2>
<pre class="lang-py prettyprint-override"><code>import numpy as np
import pandas as pd
df = pd.DataFrame({'player': ['bob', 'foo', 'bar', 'foo2', 'bar2'],
'vehicle': list('abcab'),
'hasWon': [True, False, True, True, True],
'frags': [5, 3, 2, 4, 2]})
# Assuming
# winrate = sum(hasWon*frags)/sum(frags)
df['winrate'] = df['hasWon']*df['frags']/df['frags'].sum()
df
</code></pre>
<p><a href="https://i.stack.imgur.com/Zabzb.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Zabzb.png" alt="enter image description here"/></a></p>