pandasでグループごとの箱ひげ図を作る方法


pandasにて、下のようなデータを写真のような箱ひげ図で表すにはどうすればよいですか？

[code]

    import numpy as np
    import pandas as pd
    
    
    df = pd.DataFrame({
         'group':np.random.choice(['A','B','C'], 10),
         'test1':np.random.randint(1, 100, 10),
         'test2':np.random.randint(1, 100, 10)
         })
    
[/code]

[![](https://i.stack.imgur.com/fjHFx.png)](https://i.stack.imgur.com/fjHFx.png)

[code]

    groupby
    
[/code]

を使って、

[code]

    grouped = df[['group', 'test1', 'test2']].groupby('group')
    grouped.boxplot(subplots=False)
    
[/code]

とすると似たようなグラフが出来るのですが、写真のように分類ごとの区別が分かりやすい箱ひげ図を作りたいです。よろしくお願いします。




seabornでの例です。  
データフレームの構造を変更しています。

[code]

    import pandas as pd
    import numpy as np
    import seaborn as sns
    
    df = pd.DataFrame({
         'group':np.random.choice(['A','B','C'], 20),
         'test':np.random.randint(1, 3, 20),
         'score':np.random.randint(1, 100, 20)
         })
    df = df.sort_values('group')
    sns.boxplot(x='group', y='score', hue='test', data=df)
    
[/code]

[![画像の説明をここに入力](https://i.stack.imgur.com/Cq856.png)](https://i.stack.imgur.com/Cq856.png)




seabornでの例です。  
データフレームの構造を変更しています。

[code]

    import pandas as pd
    import numpy as np
    import seaborn as sns
    
    df = pd.DataFrame({
         'group':np.random.choice(['A','B','C'], 20),
         'test':np.random.randint(1, 3, 20),
         'score':np.random.randint(1, 100, 20)
         })
    df = df.sort_values('group')
    sns.boxplot(x='group', y='score', hue='test', data=df)
    
[/code]

[![画像の説明をここに入力](https://i.stack.imgur.com/Cq856.png)](https://i.stack.imgur.com/Cq856.png)

