擅长:python、mysql、java
<p>我不得不修改您的示例以使其工作,但您只需执行<code>df.groupby(['airline', 'status']).sum() / df.groupby(['airline']).sum()</code></p>
<p>原始数据框:</p>
<pre><code>airline status number
0 Aer Lingus some error A 14
1 Aeroflot success 47
2 Air Canada success 2
3 Air Dolomiti success 2
4 Air Europa some error B 4
5 Air France success 40
6 Alitalia some error A 10
7 Alitalia success 10
8 Air France some error B 10
9 Aer Lingus success 12
df.groupby(['airline', 'status']).sum() / df.groupby(['airline']).sum()
number
airline status
Aer Lingus some error A 0.538462
success 0.461538
Aeroflot success 1.000000
Air Canada success 1.000000
Air Dolomiti success 1.000000
Air Europa some error B 1.000000
Air France some error B 0.200000
success 0.800000
Alitalia some error A 0.500000
success 0.500000
</code></pre>