回答編集履歴
2
    
        answer	
    CHANGED
    
    | @@ -1,9 +1,9 @@ | |
| 1 1 | 
             
            > 2系の仕様でgroupbyとapply関数を用いてグループ別の割合を算出する方法
         | 
| 2 2 |  | 
| 3 | 
            -
            `groupby()` の結果、multi-index になっていて、`reset_index(drop=True)` で元のインデックスを削除してしまっています。なので、グループインデックス(`male`, `female`) | 
| 3 | 
            +
            `groupby()` の結果、multi-index になっていて、`reset_index(drop=True)` で元のインデックスを削除してしまっています。なので、グループインデックス(`male`, `female`)を作成しない様にすればよいかと思います。(`group_keys=False` を指定)
         | 
| 4 4 |  | 
| 5 5 | 
             
            ```python
         | 
| 6 | 
            -
            df["rate"] = df.groupby("sex")["fare"].apply(lambda x: x/x.sum()) | 
| 6 | 
            +
            df["rate"] = df.groupby("sex", group_keys=False)["fare"].apply(lambda x: x/x.sum())
         | 
| 7 7 |  | 
| 8 8 | 
             
            print(df.groupby("sex")["rate"].sum())
         | 
| 9 9 |  | 
1
    
        answer	
    CHANGED
    
    | @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            > 2系の仕様でgroupbyとapply関数を用いてグループ別の割合を算出する方法
         | 
| 2 2 |  | 
| 3 | 
            -
            `groupby()` の結果、multi-index になっていて、`reset_index(drop=True)` で元のインデックスを削除してしまっています。なので、グループインデックス(`male`, `female`)のみを削除することで元のインデックス | 
| 3 | 
            +
            `groupby()` の結果、multi-index になっていて、`reset_index(drop=True)` で元のインデックスを削除してしまっています。なので、グループインデックス(`male`, `female`)のみを削除することで元のインデックスに合わせて `rate` 列を作成します。
         | 
| 4 4 |  | 
| 5 5 | 
             
            ```python
         | 
| 6 6 | 
             
            df["rate"] = df.groupby("sex")["fare"].apply(lambda x: x/x.sum()).reset_index(level=0, drop=True)
         | 
