回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个带有multiindex的pandas dataframe,我想在其中聚合重复的键行,如下所示:</p>
<pre><code>import numpy as np
import pandas as pd
df = pd.DataFrame({'S':[0,5,0,5,0,3,5,0],'Q':[6,4,10,6,2,5,17,4],'A':
['A1','A1','A1','A1','A2','A2','A2','A2'],
'B':['B1','B1','B2','B2','B1','B1','B1','B2']})
df.set_index(['A','B'])
Q S
A B
A1 B1 6 0
B1 4 5
B2 10 0
B2 6 5
A2 B1 2 0
B1 5 3
B1 17 5
B2 4 0
</code></pre>
<p>我想按这个数据帧分组来聚合Q值(sum),并保留与Q值的最大行相对应的S值,从而得出:</p>
^{pr2}$
<p>我尝试了以下方法,但没用:</p>
<pre><code>df.groupby(by=['A','B']).agg({'Q':'sum','S':df.S[df.Q.idxmax()]})
</code></pre>
<p>有什么提示吗?在</p>