実現したいこと
下のようなcsvから、Q1とQ2をAとBの平均値で比較するような棒グラフを描きたいです。
上記の図はExcelで作成しているのでExcelで作成してしまえばいいのですが、
示したcsv例は全体の一部のため、Pythonでなんとか効率化できないかと考えています。
やってみたこと
python
1sns.barplot(x='列Q', y='列A', data=df2)
とし、Q1とQ2の列A,列Bそれぞれで棒グラフが描けるところまではできました。
列A,Bそれぞれの棒グラフを1つの軸上で表現したいのです。
https://www.codexa.net/seaborn-python/
の「棒グラフを描く −平均値を可視化する−」を参考に……とも考えたのですが、
そもそものデータ構造が異なるためうまくこちらのやりたい形に書き換えられませんでした。
また、
https://tokitsubaki.com/python-matplotlib-bar-graph/552/
の「複数の棒グラフを表示する方法」を参考に
幅をずらしてみる形も試したのですが、こちらも手持ちのデータ構造が異なるため、うまくこちらのやりたい形に落とし込めませんでした。
(y軸部分に
A
B
と表示され、棒は片方だけになってしまいました)
知りたいこと
データ構造を変えない場合、どのような形でグラフを描く指示を記述するのが良いでしょうか。
(現在の列A,列B,列Qの形から、参考にしたサイトのようなデータの形に変形するのがスムーズでしょうか)
よろしくお願いします。
列A | 列B | 列Q |
---|---|---|
0.143479418 | 0.434606504 | Q1 |
0.526978967 | 0.335625096 | Q2 |
0.300706603 | 0.10525551 | Q1 |
0.556529259 | 0.227195416 | Q2 |
0.716269545 | 0.874288775 | Q1 |
0.38147535 | 0.614077424 | Q2 |
0.19946781 | 0.573008082 | Q1 |
0.316882675 | 0.077498148 | Q2 |
0.427729822 | 0.723043906 | Q1 |
0.062426164 | 0.905506978 | Q2 |
0.15372035 | 0.331729346 | Q1 |
0.879988208 | 0.982075577 | Q2 |
0.583172163 | 0.937667393 | Q1 |
0.203351069 | 0.106217671 | Q2 |
0.325072363 | 0.782268672 | Q1 |
0.382087262 | 0.7997886 | Q2 |
0.314742425 | 0.010230592 | Q1 |
0.569015821 | 0.496844197 | Q2 |
0.688380841 | 0.487077471 | Q1 |
0.626992447 | 0.399904693 | Q2 |

回答1件
あなたの回答
tips
プレビュー