72537


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]

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


CC BY-SA 4.0
2020-12-09T10:20:54.407
72535
2020-12-09T12:18:04.337
2020-12-09T12:18:04.337
32986
43083
question
python3 pandas matplotlib
pandasでグループごとの箱ひげ図を作る方法


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)


CC BY-SA 4.0
2020-12-09T12:12:26.123
72537
2020-12-09T12:12:26.123
39819
72535
answer